c/c++编程思想
仅是路过
这个作者很懒,什么都没留下…
展开
-
c中static作用
1. static 变量 静态变量的类型说明符是static。静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。2. 静态局部变量 静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义它的生存期为整个源程转载 2013-12-09 21:31:07 · 708 阅读 · 0 评论 -
关于const
关键字const能将对象、函数参数、返回值及成员函数定义为常量,并能消除预处理器的值替代而不对预处理器有任何影响。下面是关于const的几个用法:一、关于值替代: 1、c++中的const默认为内部连接。一般情况下,c++不为const分配存储空间,相反它把这个定义保存在它的符号表里。当const被使用时,它在编译时会进程常量折叠。 2、const可以用于集合,但编译器原创 2013-12-29 16:05:41 · 442 阅读 · 0 评论 -
c++中关于友元的知识点
#include using namespace std;class x;class y{public: void f(x);};class x{#include using namespace std;private: int i;public: friend void y::f(x); friend void g(x, int);};void y::原创 2013-12-16 19:41:06 · 551 阅读 · 0 评论 -
c++中的命名控制
C中的static关键字在人们发明"重载"这个概念之前实际上已经被重载了,而C++则为static增添了新的含义。 在C和C++中,static都具备两个基本语意,不幸的是,两者经常混杂在一起。 1.在固定地址空间分配内存,而不是每次函数调用时在栈上分配空间。这里static的意味是静态存储(static storage)。 2.只对一个特定的转换单元(tra转载 2014-01-01 15:55:04 · 455 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private: int a;public: CExa转载 2014-01-05 11:04:31 · 376 阅读 · 0 评论 -
c++中define与inline的一些注意事项
宏不会被编译,因为在源码进入编译器之前,他会被预处理器去掉,因此尽量用const代替。 宏不是函数,只是在编译前预处理阶段将程序中有关字符串替换成宏体。因此要注意下列代码中的问题:int a = 5, b = 0;max(++a, b);// a 的值增加了2次max(++a, b+10); // a 的值只增加了1次 相比之下内联函数实现了宏的效率,但在编译中不单独原创 2013-12-21 17:36:40 · 517 阅读 · 0 评论 -
拷贝构造函数和赋值表达式的区别
一、引入 拷贝构造函数,用已创建的对象来初始化新建对象,对于一个已经被初始化的对象则进行operator=赋值操作。class A; A a;A b=a; //拷贝构造函数调用A b(a); //拷贝构造函数调用A a;A b;b =a; //赋值运算符调用拷贝构造函数首先是一个构造函数,它调用的时候产生转载 2014-01-07 11:49:16 · 495 阅读 · 0 评论