01std::string的Copy-on-Write:不如想象中美好
Copy-on-write(以下简称COW)是一种很重要的优化手段。它的核心思想是懒惰处理多个实体的资源请求,在多个实体之间共享某些资源,直到有实体需要对资源进行修改时,才真正为该实体分配私有的资源
02C++智能指针的简单实现
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)
03C++编译器与链接器工作原理
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)

04C++处理异常 try,catch,throw
在标准C++语言中专门集成了异常处理的相关语法(与之不同的是,所有的C 标准库异常体系都需要运行库的支持,它不是语言内核支持的)。当然,异常处理被加到程序设计语言中,也是程序语言发展和逐步完善的必然结果。C++不是唯一集成异常处理的语言。
05深入理解预编译原理
预编译又称为预处理,是做些代码文本的替换工作。处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等.就是为编译做的预备工作的阶段.主要处理#开始的预编译指令
06深入探究C++的new/delete操作符
今天在重温《More Effective C++》的时候,又看到讲 operator new 和 operator delete 的那条规则,虽然大概明白其原理,但是实际中却从来没用过,所以,就想写个小程序来试一试.

07C++问题记录
1、sttok 修改源字符串 std::string str1 = str2; pch = strtok (str1.cstr()," ,.-"); 这样会修改str2的值
2、C++字符串分割函数
08ASCII码对照表
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
09C语言‘\0’,‘0’,“0”,0的区别
第一个ASCII码是0,对应的字符是(Null),其实就是‘\0’,即空字符。而字符‘0’对应的ASCII码是48,48对应的十六进制数就是0x30。这里的memset(pStr,0,sizeof(*pStr)),这里相当于把段内存全部初始化为'\0'。这样写的字符串就会是C风格的字符串。

10C++内部类与私有静态成员
其实内部类和友元类很像很像。只是内部类比友元类多了一点权限:可以不加类名的访问外部类中的static、枚举成员。其他的都和友元类一样。
封装是编译期的概念,是针对类型而非对象的,在类的成员函数中可以访问同类型实例对象的私有成员变量,C++编译器的实现是在对象rhs的类域查找value符号
11STL 的 char_traits 分析
STL 的 char_traits 分析
12STL 的 uninitialized 相关算法分析
在 uninitialized_copy 中根据需要复制的元素类型来决定是通过赋值运算还是通过按位 new 来构建新对象。但 copy 函数中一律使用赋值运算来进行元素的赋值,而有些对象 (比如未初始化的) 的复制需要用调用拷贝构造函数来实现(按位 new 会调用拷贝构造函数来实现),而不是 operator= 函数来实现

点击排行

站长推荐

猜你喜欢
站点信息
- 建站时间:2016-04-01
- 文章统计:728条
- 文章评论:82条
- QQ群二维码:扫描二维码,互相交流
