您的位置:首页 > 其它

变量.注意内部链接全局变量(也声明使用静态关键字)

2017-02-25 16:36 363 查看
   
在上一节中提到的,一个集成开发环境(IDE)包含了所有你需要开发、编译、链接和调试你的程序的东西。所以让我们安装一个。

显而易见的问题是:“哪一个?“。记住,你可以安装多个IDE,所以没有“错误的决定”。这些教程中,我们将告诉你一些你的IDE的不错的功能,比如如何做集成调试。我们所有的例子都将使用微软的Visual C++(Windows),和代码::块(Linux或Windows)。因此,我们强烈建议您选择其中之一。

然而,如果你想尝试不同的IDE,你可以这样做。我们给你的概念将任何IDE,然而,不同的IDE的使用不同的keymappings和不同的设置,你可以做一点搜索找到相当于我们给你。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// note: exp must be non-negative
int pow(int base, int exp)
{
int result = 1;
while (exp)
{
if (exp & 1)
result *= base;
exp >>= 1;
base *= base;
}

return result;
}


你知道从日常数学的括号内的表达式得到评估第一。例如,在表达式(2 + 3)* 4,(+ 3)部分进行评估第一。

对于这个练习,你得到了一组没有括号的表达式。使用运算符的优先级和结合性上面表中的规则,添加括号每个表达清楚编译器如何将计算表达式。

提示:使用样式表中的列以上判断经营者是否是一元(有一个操作数)或二进制(有两个操作数)。综述部分1.5,首先看运营商如果你需要对一元和二元运算符是一个进修。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>

void incrementAndPrint()
{
int value = 1; // automatic duration by default
++value;
std::cout << value << std::endl;
} // value is destroyed here

int main()
{
incrementAndPrint();
incrementAndPrint();
incrementAndPrint();
}


第一次调用这个函数时,它返回0。第二次,它返回1。每次调用时,返回一个高于前一次调用的。您可以为您的对象分配这些数字作为唯一的id。因为s_itemid是局部变量,它可不是“篡改”的其他功能。

静态变量提供全局变量的一些好处(它们在程序结束前不会被破坏),同时限制它们的可见性以阻止范围。这使得它们比全局变量更安全。
1
2
3
4
5
int generateID()
{
static int s_itemID = 0;
return s_itemID++; // makes copy of s_itemID, increments the real s_itemID, then returns the value in the copy
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: