我是了解stri并宣布它们的新手。可以是字符串变量=“”; 我很困惑为什么你也可以在声明上加上一个等号。这是声明一个函数是空的类似全局变量吗?像int variable = 0;那有点像全局字符串变量吗?一旦我改变它,它将被存储在主要功能和其他功能中?
#include<iostream>
using namespace std;
string variable = "";
int main() {
return 0;
}
答案 0 :(得分:0)
您发布的小例子有四个独立的部分:
1)包括必要的标题:
#include<iostream>
2)声明任何使用过的名称空间:
using namespace std;
3)现在这是你可能会问的问题:
string variable = "";
以上这一行完全独立于下面的功能。它声明名为variable
的全局变量,类型为string
。它也为它赋值,恰好是空字符串,即""
。你也可以说:
string variable = "My name is numLOCK";
因此,您只是将该变量的值初始化为指定的文本将aome值赋值给变量。
4)接下来是main
函数。这是实际的工作。
int main() {
return 0;
}
请注意,您可以在main
或任何其他函数中使用上面声明的全局变量。您还可以在函数内声明更多变量。例如:
string someText = "My name is numLOCK";
int main() {
int someNumber = 42;
cout << someText << endl;
cout << someNumber << endl;
return 0;
}
这将打印出来:
My name is numLOCK
42
答案 1 :(得分:0)
您可以通过两种方式为字符串变量赋值。
string variable = "";
这意味着您声明了一个名为变量的变量,其类型为字符串,并为此变量指定了一个空字符串。
您也可以这样指定值
string variable("");
这意味着与上面的完全相同。但在这里你不需要等号。
这是一个可以帮助您理解字符串http://www.cprogramming.com/tutorial/string.html
的参考答案 2 :(得分:0)
您要问的语句定义了一个变量 命名空间范围(在本例中为全局命名空间)。它更多 或者更不像任何定义:除了关联和 一生:
生命周期是静态的,这意味着变量将是
在输入 main
之前初始化(实际上,无论如何),
并且在 exit
被调用后将被破坏。
链接是外部的,这意味着名称variable
总是指同一个实体,即使是在不同的翻译中
单元。
当然,由于范围是命名空间范围,因此变量 可以直接从该命名空间中的任何函数引用, 或嵌套在该命名空间中的任何命名空间。而且因为一切 其他名称空间嵌套在全局名称空间中,这意味着 变量可以被引用到任何地方(除非一些 其他声明正在隐藏它。)