现在位置: 首页 > 变量
2014-12-20 16:06 工业·编程 ⁄ 共 1027字 评论 3 条
1. 能不用全局变量尽量不用,我想除了系统状态和控制参数、通信处理和一些需要效率的模块,其他的基本可以靠合理的软件分层和编程技巧来解决。 2. 如果不可避免需要用到,那能藏多深就藏多深。 1)如果只有某.c文件用,就static到该文件中,顺便把结构体定义也收进来; 2)如果只有一个函数用,那就static到函数里面去; 3)如果非要开放出去让人读取,那就用函数return出去,这样就是只读属性了; 4)如果非要遭人蹂躏赋值,好吧,...
阅读全文
2013-04-21 05:21 工业·编程 ⁄ 共 523字 暂无评论
今天终于琢磨明白一个问题,拿出来跟大伙分享下。 我的测试程序如下: #include "stdafx.h" char Buff[1024*1024*4] = {0}; int main() { return 0; } ,这段代码经过编译之后,大约184K(debug)。 如果把全局变量Buff赋初始值改改,char Buff[1024*1024*4] = {1}; 经过编译之后大约是4.98M,差了20多倍。 经过上网学习,发现,原来全局变量赋初始值为0,那么全局变量会被存储在可...
阅读全文
    最近在做一个黑匣子的回放系统,运行时发现第一次回放正常,再次回放时就会出现问题。开始以为是内存泄露,今天上午调试发现原来是一个静态变量在作祟。。。      首先,看下static声明的静态变量所具有的属性:内存分配位于静态存储区,只会在进程退出时才释放;当一个局部变量声明为static变量时,在函数多次进入时,变量值只被初始化一次。        ...
阅读全文
2012-12-04 23:13 工业·编程 ⁄ 共 897字 暂无评论
作用域: 作用域和可见性:作用域和可见性可以说是对一个问题的两种角度的思考。 作用域就是讲一个变量或函数在代码中起作用的范围,或者说,一个变量或函数的“有效范围”。 代码中的变量或函数,有的可以在整个程序中的所有范围内起作用,这称为“全局”的变量或函数。而有的只能在一定的范围内起作用,称为“局部”变量。    一对{}括起来的代码范围,属于一个局部作用域    在局部作用域内定义的变量,其有效...
阅读全文
1、全局变量中static全局变量和普通全局变量的区别:           相同点:1)共存于同一块内存(静态存储区)中;                           2)生命期相同,都是到整个程序的生命期;          ...
阅读全文
2012-09-15 06:49 工业·编程 ⁄ 共 2690字 暂无评论
一、C++变量的作用域  变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。         按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。         按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在...
阅读全文
在C++中,都知道要“尽量靠近变量实际使用处进行定义”。对此条规则一般的理解是:这是C++对C“函数开始处进行变量定义”的一种优化,目的是方便程序员定义和使用变量。最近学习时发现,这个规则实际上和C++“面向对象的编程语言”本质密切相关。 考虑如下的类定义和代码段: class X { public:   X() : m_number(2);   ~X();   void SetNumber(int number){m_number = numbe...
阅读全文
2012-09-03 19:52 工业·编程 ⁄ 共 3501字 暂无评论
     许多人对临时变量的理解仅仅限于: string temp;      其实,从C++的观点来看,这根本就不是临时变量,而是局部变量.      C++的临时变量是编译器在需要的时候自动生成的临时性变量,它们并不在代码中出现.但是它们在编译器生成的二进制编码中是存在的, 也创建和销毁.在C++语言中,临时变量的问题格外的重要,因为每个用户自定义类型的临时变量都要出发用户自定...
阅读全文