甄文超

TNT 数字生活

Technology Technology Category


C++ 数据结构

C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。 结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性: Title :标题 Author :作者 Subject :类目 Book ID :书的 ID 定义结构 为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下: struct type_name { member_type1 member_name1; member_type2 member_name2; member_type3 member_name3; . . } object_names; type_name 是结构体类型的名称,member_type1 member_ …

C++

C++ 引用

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。 C++ 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的不同: 不存在空引用。引用必须连接到一块合法的内存。 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。 引用必须在创建时被初始化。指针可以在任何时间被初始化。 C++ 中创建引用 试想变量名称是变量附属在内存位置中的标签,您可以把引用当成是变量附属在内存位置中的第二个标签。因此,您可以通过原始变量名称或引用来访问变量的内容。例如: int i = 17; 我们可以为 i 声明引用变量,如下所示: int& r = i; double& s = d; 在这些声明中,& 读作引用。因此,第一个声明可以读作 "r 是一个初始化为 i 的整型引用",第二 …

C++

C++ 指针

学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C++ 程序员,学习指针是很有必要的。 正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址: #include <iostream> using namespace std; int main () { int var1; char var2[10]; cout << "var1 变量的地址: "; cout << &var1 << endl; cout << "var2 变量的地址: "; cout << &var2 << endl; return 0 …

C++

C++ 中的类型限定符

类型限定符提供了变量的额外信息,用于在定义变量或函数时改变它们的默认行为的关键字。 限定符 含义 const const 定义常量,表示该变量的值不能被修改。 volatile 修饰符 volatile 告诉该变量的值可能会被程序以外的因素改变,如硬件或其他线程。 restrict 由 restrict 修饰的指针是唯一一种访问它所指向的对象的方式。只有 C99 增加了新的类型限定符 restrict。 mutable 表示类中的成员变量可以在 const 成员函数中被修改。 static 用于定义静态变量,表示该变量的作用域仅限于当前文件或当前函数内,不会被其他文件或函数访问。 register 用于定义寄存器变量,表示该变量被频繁使用,可以存储在CPU的寄存器中,以提高程序的运行效率。   const 实例 const int NUM = 10; // 定义常量 …

C++

c++类型转换

类型转换 类型转换是将一个数据类型的值转换为另一种数据类型的值。 C++ 中有四种类型转换:静态转换、动态转换、常量转换和重新解释转换。 一、静态转换(Static Cast) 静态转换是将一种数据类型的值强制转换为另一种数据类型的值。 静态转换通常用于比较类型相似的对象之间的转换,例如将 int 类型转换为 float 类型。 静态转换不进行任何运行时类型检查,因此可能会导致运行时错误。 实例 int i = 10; float f = static_cast&lt;float&gt;(i); // 静态将int类型转换为float类型 二、动态转换(Dynamic Cast) 动态转换通常用于将一个基类指针或引用转换为派生类指针或引用。动态转换在运行时进行类型检查,如果不能进行转换则返回空指针或引发异常。 实例 class Base {}; class Derived : …

C++


C++ 的关键字(保留字)

1. asm asm (指令字符串):允许在 C++ 程序中嵌入汇编代码。 2. auto auto(自动,automatic)是存储类型标识符,表明变量"自动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。 3. bool bool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。C++ 中的 bool 类型可以和 int 混用,具体来说就是 0 代表 false,非 0 代表 true。bool 类型常用于条件判断和函数返回值。 4. break break(中断、跳出),用在switch语句或者循环语句中。程序遇到 break 后,即跳过该程序段,继续后面的语句执行。 5. case 用于 switch 语句中,用于判断不同的条件类型。 6. catch catch 和 try 语句一起用于异常处理。 7. …

C++

如何使IIS支持Put、delete请求

最近因为项目发布及部署,经常遇到IIS不支持项目中PUT和delete的请求,现记录下来以防忘记。 0、问题描述:一般IIS不支持PUT和Delete请求的时候,都会报405或500的错误,如下:         一、部署环境:IIS 二、问题原因分析:在默认情况下,IIS会安装一个WebDav模块,而这个模块阻止了HTTP的PUT和Delete请求。 三、解决方案: ①删除IIS安装的WebDav模块,选择你的项目,右边有个“模块”,双击它;找到WebDavModule,删除它。   ②修改你项目的web.config ,在标签内加上以下代码。 …

Windows IIS