C++语言
文章平均质量分 93
seiiseii
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CC++可变参数stdarg.h中的余数运用
#define _INTSIZEOF(n) ( (sizeof(n) +sizeof(int) - 1) & ~(sizeof(int) - 1) )上述语句的作用是:内存向sizeof(int)对齐,在vc中,就是向4、8、16对齐。 其原理来自于数论的余数理论。 引入:设有N包货物,现有容量为M的集装箱,问需要集装箱的个数X的值。前提:/为取整,%为取余。解题转载 2015-11-03 09:06:39 · 661 阅读 · 0 评论 -
C++11的enum class & enum struct和enum
C++标准文档——n2347(学习笔记) 链接:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf旧版enum存在的问题1 问题1向整形的隐式转换2 问题2无法指定底层所使用的数据类型3 问题3enum的作用域4 不同编译器解决该问题的方法不统一enum class 和 enum struct1 enum原创 2015-12-04 22:26:04 · 15487 阅读 · 3 评论 -
C\C++中的整形提升
1. 什么是整形提升?首先我们来看看整形提升的概念: From the text K&R, C Programming Language, 2nd Ed. p. 174 A.6.1 Integral Promotion A character, a short integer, or an integer bit-field, all either signed or not,原创 2015-12-04 10:46:40 · 3867 阅读 · 1 评论 -
C++对象的初始化
参考:《Effective C++》 《Effective C++》条款4学习笔记综述1 内置类型和非内置类型2 局部和全局3 小结非内置类型的初始化1 构造函数的两种写法继承中构造函数的调用顺序类中成员的初始化顺序1. 综述 C++对于对象的初始化大致分为两块:内置类型和非内置类型+局部和全局。1.1 内置类型和非内置类型内置原创 2015-11-30 22:49:35 · 1013 阅读 · 0 评论 -
C++的chrono、ratio和ctime等头文件
C++的chrono、ratio和ctime等头文件推荐网站:http://www.cplusplus.com/ 参考: - http://www.cplusplus.com/ - http://www.cplusplus.com/reference/chrono/ - http://www.cplusplus.com/reference/ctime/C的chronoratio和c原创 2015-11-29 13:12:52 · 8428 阅读 · 0 评论 -
了解new_handler
了解new_handler内存管理是C++的难点,也是重点,今天就把new_handler的学习笔记和大家分享。请大家多多指点。 参考书籍:《Effective C++》了解new_handler关于new_handlernew_handler的定义new_handler的简单使用实例为类设置自己的new_handler用继承和模板为类提供其独有的new_handler关于new_ha原创 2015-11-20 12:37:37 · 1328 阅读 · 1 评论 -
#define预处理的弊端
#define预处理的弊端参考:《Effective C++》define预处理的弊端几个弊端难以调试源码体积变大解决方案难以控制作用域无法提供封装性直接替换无法保证类型安全直接替换的严重后果解决方案转载请注明出处几个弊端1.难以调试 2.源码体积变大 3.难以控制作用域 4.无法提供封装性 5.直接替换,无法保证类型安全。 6.直接替换的严重后果1.难以调试我们给出一原创 2015-11-22 13:30:41 · 1316 阅读 · 0 评论 -
placement new和placement delete(重载new和delete2)
placement new和placement delete参考:《Effective C++》placement new和placement delete1 什么是placement new和placement delete2 如何使用placement版本的new和delete3 从内存泄露出发a 什么时候new一个对象会发生内存泄露b 当placement new和placement原创 2015-11-21 11:30:20 · 1428 阅读 · 0 评论 -
重载new和delete的一些规则
重载new和delete的一些规则重载new和delete的一些规则一般规则特殊规则1特殊规则2特殊规则3new和delete重载实例直接获取当前的new_handler转载请注明出处参考:《Effective C++》一般规则1.内存分配失败时调用new_handler 关于new_handler参考: http://blog.youkuaiyun.com/sanoseiichirou/ar原创 2015-11-20 23:18:14 · 3281 阅读 · 2 评论 -
const的使用
const的使用《Effective C++》条款3 学习总结const的使用const与指针const与类const成员函数bitwise constness又称physical constness和logical constness在const和non-const函数的重载重避免代码重复转载请注明出处1.const与指针#include <iostream>int main(){原创 2015-11-26 00:12:49 · 540 阅读 · 0 评论 -
两种智能指针-RAII智能指针和引用计数智能指针
两种智能指针-RAII智能指针和引用计数智能指针两种智能指针-RAII智能指针和引用计数智能指针RAII简介RAII智能指针代码参考引用计数版本参考代码RAII简介RAII的全称是:Resource Acquisition Is Initialization 也就是“资源获取就是初始化”。比如,当程序结束时,系统会自动释放程序所使用的资源;函数传值时,当函数调用结束,该值也将消亡。RAII智能原创 2015-11-17 23:46:16 · 712 阅读 · 0 评论 -
cstdarg中可变参数的实现
1. cstdarg的使用 在C++中,可变参数有两种类型: 1. 类型不变,参数个数可变 2. 参数个数可变,类型可变 今天着重讲述第1种:类型不变,参数个数可变。先看一个例子:#include <iostream>#include <cstdarg>void show(int length, ...) { va_list ap;//定于一个指针,为char*原创 2015-12-08 09:46:11 · 869 阅读 · 0 评论 -
C++11中的POD
C++11中的PODC11中的POD什么是POD什么是Trival Type1 如何判定Trival Type什么是Standard-layout 1 Standard-layout标准布局的意义2 如何判断标准布局1.什么是POD? C++11中的POD分为两部分的内容,包括Trival Type和Standard-layout。2.什么是Trival Type? A tri原创 2016-05-03 22:02:29 · 3833 阅读 · 0 评论
分享