C++初始化的结果是什么?

What is the result of an initialization in C++?

本文关键字:是什么 结果是 结果 初始化 C++      更新时间:2023-10-16

初始化的返回值是什么?例如: 在下面的代码中;

#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,

如果这是一个声明,则在每个初始值设定项之前计算 迭代,以及声明变量的值是否转换为 假,循环退出。