C++初始化的结果是什么?
What is the result of an initialization in C++?
初始化的返回值是什么?例如: 在下面的代码中;
#include<iostream>
int main()
{
int age = 30; //does this statement return (thus; yield) anything?
while(int i = 0){ //a similar statement (expression) used here in this condition
std::cout<<"OK";
}
return 0;
}
- 声明
int age = 27;
返回什么? - 当存在初始化时,通常的赋值运算符含义是否适用,其中返回赋值运算符的左操作数?
我想知道这一点的原因是,当我们查看上面的条件语句时,我们看到用作条件的变量的类似初始化。我知道返回的任何值都会转换为布尔类型。
注意:我不想在 while 语句的条件下将 i 与 0 进行比较。
带有初始值设定项的声明语句只是一个声明语句,而不是一个表达式。它不产生值。你不能做像int x = (int n = 42);
这样的事情.
while
循环是一种特例。可以使用声明作为while
循环的条件。根据 cppreference.com,
如果这是一个声明,则在每个初始值设定项之前计算 迭代,以及声明变量的值是否转换为 假,循环退出。
相关文章:
- C++初始化的结果是什么?
- 我的输出结果是 0 英寸C++.可能是什么问题
- std::chrono::duration::count函数的实际结果类型是什么
- 在C++中使用 fread() 来解释这个结果是什么?
- 此代码中的数组初始化样式是什么?这是标准的吗?
- ZTV,ZTS,ZTI 在 gdb x/nfu "vtable_address" 的结果中是什么意思?
- QT:私人会员而不是继承?原因是什么?这是一个具体的概念吗?
- 英特尔SGX错误:8207错误是什么意思是当我无法正确加载飞地时
- 如果我将未签名的int添加到负int且算术结果是正面的,会发生什么
- 三元操作的结果(类型)是什么
- decltype( (A{}.int_member) 的正确结果是什么)
- 从函数结果中分配 std::shared_ptr 的一行是什么?
- 将函数结果作为"output parameter"返回是什么意思?
- 字符串数组[] = " " 是什么;意思是,为什么它有效?
- 大端序中的以下代码的结果是什么
- 递归宏点差的结果是什么
- 在 C 和 C++ 中 printf( "%dn" , sizeof('a')) 的结果是什么
- 双倍和NaN比较的结果是什么
- 着色器中实现双精度cos()的结果是NaN,但在CPU上运行良好.出了什么问题
- 这种情况的结果会是什么?它是定义的还是与编译器相关的