
C++
文章平均质量分 63
代码海洋中的一叶小舟
我是一个乐观开朗,积极好学的人。喜欢学习新技术,对技术比较热衷。平时喜欢骑骑自行车和爬山!
展开
-
C++之std::nothrow
标准的new头文件可以定义普通的new,同时,它也可以定义一个变体new操作符,这个操作符叫做nothrownew。普通的new:过去和现在 普通new一个异常的类型std::bad_alloc。这个是标准适应性态。在早期C++的舞台上,这个性态和现在的非常不同;new将返回0来指出一个失败,和malloc()非常相似。 在一定的环境下,返回一个NULL指针来表示一个失败依然是一个不错转载 2013-09-06 19:18:27 · 2064 阅读 · 0 评论 -
C++转型之static_cast、dynamic_cast、reinterpret_cast和const_cast
C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式转载 2013-09-06 19:17:38 · 769 阅读 · 0 评论 -
实现简单的 std::cout
实现简单的 std::cout 其实在我做的程序里很少用到这些IO操作的东西,但是最近在培训班里要弄比赛,所以也就趁这个机会去学习一下C++里的IO操作。看了点书,有了点心得,遂决定自己来做这件有点本质的东西。 cout 是类 ostream 的一个实例。而cin 是类 istream的一个实例。(cin 原理同cout 一致,所以此文不必论述)转载 2013-09-25 18:13:32 · 1764 阅读 · 0 评论 -
C++中智能指针的工作原理
智能指针:它的一种通用实现方法是采用引用计数的方法。智能指针将一个计数器与类指向的对象相关联,引用计数跟踪共有多少个类对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计数;对一个对象进行赋值时,赋值操作符减少左操作数所指对象的引用计数(如果引用计数为减至0,则删除对象),并增加右转载 2013-11-15 17:19:57 · 971 阅读 · 0 评论 -
assert,assert_static和static_assert区别
static_assert是c++11中新增的宏定义。原创 2014-04-29 18:09:27 · 4129 阅读 · 2 评论 -
c++11 智能指针碰到的问题总结
1.C++11智能指针处理Array对象//C++11的中有一整套智能指针,//完全可以避免写手动的delete代码,//但是它默认使用delete删除对象,//如果是数组对象,需要指定自定义的删除方法,支持delete[]std::shared_ptrint> p(new int[10], [](int* p){ delete[] p;原创 2014-04-14 13:45:42 · 1020 阅读 · 0 评论 -
利用c++11的特性,编写测试用例
friend的用法,相信大家都已经很熟悉了,例如class a原创 2014-04-30 10:02:17 · 2105 阅读 · 0 评论 -
c/c++中string类型的构造
string是c++中常用到的类型,所以关于string的构造方法我们必须清楚:原创 2014-04-28 12:01:28 · 1892 阅读 · 0 评论