
c/c++
文章平均质量分 79
Niteip
这个作者很懒,什么都没留下…
展开
-
const总结
1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2. const 修饰类的数据成员。如:class A{ const int size;转载 2013-12-01 12:39:06 · 918 阅读 · 0 评论 -
C++11新特性 右值引用
在C++中,左值(lvalue)是可以获取其地址的一个量。由于经常出现在赋值语句的左边,因此称之为左值。例如一个有名称的变量。 例如:int a=10;//a就是一个左值。 传统的C++引用,都是左值引用。例如:int &ra=a;将ra关联到a。这就是左值引用。 C++11,新增了右值引用的概念。用&&代表右值引用。 首先我们来看一下什么叫转载 2014-07-15 13:28:47 · 1189 阅读 · 0 评论 -
C++ 关键字——friend
友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全转载 2014-07-29 10:56:01 · 809 阅读 · 0 评论 -
常见C++内存池技术
转自:http://www.cppblog.com/weiym/archive/2013/04/08/199238.html转载 2014-07-07 17:48:50 · 1177 阅读 · 0 评论 -
C++11 新特性 移动语义
C++11支持移动语义。一:为什么需要移动语义和什么是移动语义我们先来看看C++11之前的复制过程。假设有下列代码:vector v1(1000000);//v1存放着100W个string,假设每个string长度为1000vector v2(v1);//使用v1初始化v2vector和string类都使用动态内存分配,因此他们必须定义使用他们自己的new转载 2014-07-15 13:57:52 · 4097 阅读 · 0 评论 -
C语言union关键字
转自:http://see.xidian.edu.cn/cpp/html/450.htmlunion 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union Sta转载 2014-02-27 14:50:07 · 1357 阅读 · 0 评论 -
#pragma pack(n) 和 #pragma pack(push,1)
原帖未表明转载出处在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成转载 2014-01-17 11:13:02 · 1081 阅读 · 0 评论 -
C++中智能指针的设计和使用
转自:http://blog.youkuaiyun.com/hackbuteer1/article/details/7561235智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪转载 2014-01-23 16:40:03 · 807 阅读 · 0 评论 -
STL实现的底层数据结构简介
转载说明:http://blog.youkuaiyun.com/huangkq1989/article/details/7277282C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不转载 2013-12-23 09:07:20 · 837 阅读 · 0 评论 -
关于虚拟继承的思考
转载说明:http://blog.youkuaiyun.com/billdavid/article/details/24317虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继承是不推荐的,而一旦离开了多重继承,虚拟继承就完全失去了存在的必要(因为这样只会降低效率和占用更多的空间,实在是一无是处)。以下面的一个例子为例:#include #include转载 2013-12-17 11:16:59 · 912 阅读 · 0 评论 -
浅析C++中的this指针
有下面的一个简单的类:class CNullPointCall{public: static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStatic; int m_iTest;};转载 2014-09-07 21:04:59 · 832 阅读 · 0 评论