31. 在全局变量之前加上static关键字有什么作用?
全局变量会带来命名污染,他的作用域为整个工程的所有文件
但这影响了单个源文件的独立性
static关键字改变了全局变量的作用域,除了本文件之外,其他文件不可见
32. static 声明了之后的变量,外部文件可以用extern 关键字声明吗?
不可以!不可以!不可以!二者作用互斥。
33.用static 关键字修饰的变量存储在什么区?
首先代码存放有4个区。具体查看第36点。 存储在静态存储区域的data area当中。
34. 函数声明(包括实现)加上static关键字有什么作用?
a. 对于一个普通的函数来说作用与前面提到的相同,将函数设置为仅该文件可见,其他文件不可见称之为静态函数。
b. 对于一个类中的函数来说,函数前加入static称之为静态成员函数。
- 静态成员函数的特点:1.静态成员函数只能访问静态成员!! 2. 静态成员函数没有this指针,因为他属于类定义的一部分,不属于对象。
35. c/c++程序的存储区域怎么分?
C++程序的内存格局通常分为四个区:全局数据区(data area),代码区(code area),栈区(stack area),堆区(heap area)(即自由存储区)。全局数据区存放全局变量,静态数据和常量;所有类成员函数和非成员函数代码存放在代码区;为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区;余下的空间都被称为堆区。
-
静态存储区域指:全局数据区(data area)、代码区(code area)。
-
动态存储区域指:堆区、栈区
-
全局区内又以段(segment)区分:bss(block started by symbol)段(存放未初始化的数据)、data 段(存放已经初始化的数据).
常量段(存放各类常量)属于代码区的一部分。
36. 静态函数、静态成员函数的存储区域在哪里?
静态函数:静态函数存放在静态存储区域的代码区上,使用时可以直接调用,无需压栈。
静态成员函数: 静态成员函数存放在静态存储区域的代码区上。整个类共用一个函数。
37. 今天遇到一个很简单的算法题:容量的换算。
题目输入一个字节数 换算成对应的MB或者是KB GB。结果四舍五入。
我想得太复杂
只需要和固定1GB 1MB 1KB 进行比较大小。 确认范围区间直接相除就能得出结果。 ...
38.如何快速分隔字符串
-
传统方法:
-
c++新方法:
用stringstream 进行分隔
39.
40.
本文来自博客园,作者:快乐过了阈值,转载请注明原文链接:https://www.cnblogs.com/black-worrior-2000/p/16549868.html
墨愁前路无知己,天下谁人不识君。
浙公网安备 33010602011771号