摘要:
希望从表达式的类型推断出要定义的变量的类型,但是不想用该表达式的值初始化变量。 decltype(f())sum =x; //sum的类型就是函数f的返回类型 编译器并不实际调用函数f,而是使用当调用发生时f的返回值类型作为sum 的类型。 decltype 处理顶层 const 和引用的方式与 a 阅读全文
posted @ 2024-09-15 21:02
double64
阅读(32)
评论(0)
推荐(0)
摘要:
int i=0, &r = i; auto a=r; // (int a) a是一个整数(r是i的别名,而i是一个整数) auto 一般会忽略掉顶层 const(参见 2.4.3节,第57页),同时底层 const 则会保留下来,比如当初始值是一个指向常量的指针时: const int ci=i, 阅读全文
posted @ 2024-09-15 20:25
double64
阅读(35)
评论(0)
推荐(0)
摘要:
“工具”->“选项”->“文本编辑器”->“C/C++”->“代码样式”->“格式设置”->“间距”->“指针/引用对齐方式”->“右对齐”。 阅读全文
posted @ 2024-09-15 19:52
double64
阅读(40)
评论(0)
推荐(0)
摘要:
指针、常量和类型别名 如果某个类型别名指代的是复合类型或常量,那么把它用到声明语句里就会产生意想不到的后果。例如下面的声明语句用到了类型pstring,它实际上是类型 char* 的别名 typedef char *pstring; const pstring cstr=0; //cstr是指向ch 阅读全文
posted @ 2024-09-15 19:50
double64
阅读(17)
评论(0)
推荐(0)
摘要:
定义静态成员 和其他的成员函数一样,我们既可以在类的内部也可以在类的外部定义静态成员函数。当在类的外部定义静态成员时,不能重复static关键字,该关键字只出现在类内部的声明语句: void Account::rate(double newRate) { interestRate = newRate 阅读全文
posted @ 2024-09-15 12:30
double64
阅读(31)
评论(0)
推荐(0)
摘要:
拷贝构造函数 拷贝构造函数的第一个参数必须是一个引用类型。虽然我们可以定义一个接受非 const 引用的拷贝构造函数,但此参数几乎总是一个 const 的引用。 拷贝构造函数在几种情况下都会被隐式地使用。因此,拷贝构造函数通常不应该是explicit的(参见 7.5.4节,第 265 页)。 一般情 阅读全文
posted @ 2024-09-15 12:16
double64
阅读(22)
评论(0)
推荐(0)
摘要:
常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式。 指针和 constexpr 必须明确一点,在 constexpr 声明中如果定义了一个指针,限定符constexpr 仅对指针有效,与指针所指的对象无关: const int *p=nullptr; 阅读全文
posted @ 2024-09-15 11:54
double64
阅读(11)
评论(0)
推荐(0)