C++多类型赋值
C++ multiple type assignment
我对C++不太熟悉,对多重分配有一些问题
int a = 0, b = 0;
工作
int i;
double d;
char c;
c = i = d = 42;
同样有效但为什么这不起作用。
int a = 4, float b = 4.5, bool ab = TRUE;
这与允许的语法有关。从非常高级的角度来看,格式大致为:
type varName [ = expr ][, varName [ = expr ] ]?;
在完全不允许在中流引入另一种类型的情况下。
在实践中,每行声明多个变量可能会导致很多歧义和混乱。
快速测验:a
的初始值是多少?b
是什么类型的?
int* a, b = 0;
如果您猜测a
是一个空指针,而b
是int*
,那么您就错了。这就是为什么通常最好把它拼写成长格式,这样就有了绝对的清晰度:
int* a;
int b = 0;
相关文章:
- 为"adjacent"变量赋值时出现问题
- C++中的赋值发生,尽管右侧出现异常
- 用C++中的sscanf赋值
- 为std::string的某个索引赋值
- 重载Singly Linked List中的赋值运算符
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- gtest_使用setargpointee在函数中赋值
- 非常量变量只读位置的赋值
- 使用赋值运算符重载从类中返回jobject
- C++数据文件、数组和计算赋值
- 为什么在使用转换构造函数赋值后调用C++类的析构函数?
- 全局作用域中函数指针的赋值
- 错误:在为指针赋值时,void值没有被忽略
- 标准库类型的赋值运算符的引用限定符
- 关于 c++ 函数中指针赋值的简单问题
- 复制构造函数、赋值运算符C++
- 标准::变体的赋值运算符
- cin >> int 给定一个字符串将 int 赋值为 0
- if 子句中的赋值不起作用
- 复制包含C++所有元素的对象!(构造函数和赋值,最佳实践?