随笔分类 -  C/C++

关于C++ 非类型模板以及unnamed namespace的一些疑问
摘要:最近对C++ template的实例化过程很感兴趣,随着研究的深入进行,发现了一些比较有趣,比较不引人注意的特性,就是模板与linkage之间的联系。 模板不用解释,基本稍微了解点C++的coder们,都知道模板的概念以及简单的应用。一. 关于linkage(链接属性) 所谓linkage,C++标准中,有这么一段话: A name is said to have linkage when it might denote the same object, reference, function, type, template, namespace or value as a nam... 阅读全文

posted @ 2013-10-25 12:24 husoling 阅读(1355) 评论(0) 推荐(0)

tcmalloc安装,使用以及解析(一)
摘要:由于想接触tcmalloc,所以索性对tcmalloc做一个彻底点的分析,以下是一些分析的心得。一. 安装 tcmalloc在gperftools之中,故想要使用tcmalloc,就得先安装gperftools。在linux下,其安装步骤如下: 1. tar xzvf gperftools-2.1.tar.gz 2. cd gperftools-2.1 3. ./configure --enable-frame-pointers 4. make 5. make install 这里需要注意一点,在linux下,如果直接./configure,那么make时会报出编译错误:er... 阅读全文

posted @ 2013-10-15 15:40 husoling 阅读(7621) 评论(1) 推荐(0)

探讨new/delete
摘要:在C++中,new与delete(或者new[]/delete[])用于在堆上构建与销毁对象,那么它们是怎么工作的呢?本篇博文将对此进行简易的探讨。 我们都知道,C++中new其实代表了三种含义,new operator,operator new,placement new: 1. new operator是new操作符,即与'+'等同样的是属于C++的操作符,常见的使用方法为SomeClass *pobj = new SomeClass(param-list)。这里请注意,new operator是由编译器实现的,它负责创建对象所需的内存,并调用类的相应的构造函数来构建对象。 阅读全文

posted @ 2013-10-10 16:02 husoling 阅读(520) 评论(0) 推荐(0)

导航