关键字 Decltype
decltype decltype关键字用于查询表达式的类型。与auto不同,decltype并不实际计算表达式的值,而是根据表达式的形式推导出其类型。这使得decltype在处理模板、引用、以及需要保持类型一致性的复杂场景中特别有用。1 例如,在实现泛型编程时,我们可能需要创建一个与给定类型完全相同的变量。这时,decltype就派上了用场: template<typename...
decltype decltype关键字用于查询表达式的类型。与auto不同,decltype并不实际计算表达式的值,而是根据表达式的形式推导出其类型。这使得decltype在处理模板、引用、以及需要保持类型一致性的复杂场景中特别有用。1 例如,在实现泛型编程时,我们可能需要创建一个与给定类型完全相同的变量。这时,decltype就派上了用场: template<typename...
[TOC] 1. cv-限定符 cv表示const和volatile。1 2. const 关键字const表示,内存被初始化以后,程序便不能再对它进行修改。1 具体介绍可以参考文章2。 3. volatile volatile 表明,即使程序代码没有对内存单元进行修改,其值也可能发生变化。1 通常,编译器会对代码进行优化以提高效率,比如通过将变量值缓存到寄存器中来避免频繁地...
[TOC] 1. constexpr 在C++中,constexpr 是一个类型修饰符,于C++11标准被引入,并在随后的C++14和C++17标准中得到了扩展和增强。1 constexpr 修饰的对象或函数指示编译器该对象或函数的值可以在编译时被确定,这使得它们可以用在需要编译时常量表达式的上下文中,例如数组大小、枚举、模板参数等。constexpr提供了更多编译期计算能力,增强了代...
[TOC] 1. struct 的使用 以下通过例子来解释几种struct的使用: typedef struct A {/*...*/}a,b; // a和b是A的别名,与A无异 struct A {/*...*/}a,b; // a和b是A的别两个对象 struct {/*...*/}a,b; // 无名结构体,只能通过a和b调用 2. struct 与 class ...
要想使用标准C++中string类,必须要包含: #include <string> // 注意是,不是<string.h>,带.h的是C语言中的头文件 using std::string; using std::wstring; 或: using namespace std; 然后就可以使用 string/wstring 了,它们两分别对应着 char 和...
[TOC] 1. 基础概念 在C++中,命名空间是一种用来避免命名冲突的机制。1 它允许我们将一组相关的变量、函数和类等组织在一起,以防止与其他部分的代码发生命名冲突。这种机制在大型项目中尤为重要,可以有效地保持代码的整洁有序。 命名空间的声明非常简单: namespace MyNamespace { // 你的代码放在这里 } 通过这样的方式,我们可以将代码放置在命...
这些配置只在 blog 中生效: 展示 tip 类型提示的示例:{: .prompt-tip } 展示 info 类型提示的示例:{: .prompt-info } 展示 warning 类型提示的示例:{: .prompt-warning } 展示 danger 类型提示的示例:{: .prompt-danger } jekyll 的 md 文档书...