杨泽彬的神秘商店

博客园 首页 新随笔 联系 订阅 管理

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.

posted on 2022-08-08 11:05  快乐过了阈值  阅读(45)  评论(0)    收藏  举报