C++学习
文章平均质量分 77
randyjiawenjie
这个作者很懒,什么都没留下…
展开
-
C++模板特化和偏特化
C++模板特化和偏特化转载 2011-05-16 21:45:00 · 1163 阅读 · 0 评论 -
C++读入文件操作
没有想到c++读入文件操作怎么简单,包含一个fstream。假设读入的文件名为data.txt#include #include #include using namespace std;//输出空行void OutPutAnEmptyLine(){转载 2011-08-26 10:23:55 · 18120 阅读 · 1 评论 -
c++ primer 中的文本查询示例
前言:有个牛人叫bnu_chenshuo, 发微博说: 回复@TheRealBo: 学生编程练习:把 Unix 的命令行小工具用C/C++实现一遍:wc cat ls cp grep sort uniq nc head tail hexdump。把《C++ Prime原创 2011-08-26 12:11:58 · 2654 阅读 · 1 评论 -
《STL源码剖析》读书笔记——(2)序列式容器
第四章 序列式容器总体概述如下: vector实现的底层实现对象是数组,list底层实现对象是双向循环列表,deque是双端开头的连续线性空间(实现起来比较麻烦);stack和queue是配接器原创 2011-05-17 21:20:00 · 1148 阅读 · 0 评论 -
C++ primer智能指针(HasPtr)实现
智能指针显然是C++吸引人的地方之一,必须掌握。看了《C++primer》,里面着重讲了智能指针的实现方式。书中说到: “HasPtr(注:就是自定义的智能指针)在其它方面的行为与普通指针一致。具体而言,复制对象时,副本和原对象将指向同一基础对象。如果通过一个副原创 2011-08-26 20:38:39 · 5683 阅读 · 4 评论 -
《STL源码剖析》读书笔——(1)空间配置器
第二章空间配置器(allocator)空间配置器按我的理解就是C++ STL进行内存管理的组件(包括内存的申请和释放);当然,不只是内存,还可以向硬盘申请空间;我主要看了内存的配置与释放(这里“配置”就应该是“申请”的意思)。STL对此设计的哲学主要包括以下四个方原创 2011-05-16 20:42:00 · 1807 阅读 · 0 评论 -
C++继承内存对象模型
最近研究了一下,C++继承的内存对象模型。主要是读了读http://blog.csdn.net/haoel/article/details/3081328(C++ 对象的内存布局)。很推荐这篇文章。 对这篇文章做了做总结。本文的大部分内容来自于这篇文章中的总结原创 2011-08-16 23:33:45 · 5971 阅读 · 3 评论 -
C++函数返回引用
首先需要明白:C++函数为什么要返回引用?答:这样就不用返回结果的副本。因为返回副本需要做赋值拷贝函数,浪费时间。这时候,实际上,返回是结果的副本,而不是结果本身。如果要返回本身,就返回引用就OK了。例1:const string manip2(const string& s){原创 2011-08-28 19:23:22 · 8749 阅读 · 1 评论 -
关于C++对象模型(中)
这篇文章很长,我准备分成三次来转载,中间加一些我的理解(红色的字是我的新加上去的,蓝色的字是当时翻译作者加上去的)。中篇主要对象布局(多继承、虚继承、虚函数)的知识。因为这里比较复杂,所以我单独加成章节。全文在这里下载。文章内容转自:http://tb.blog.csdn转载 2011-08-30 14:22:21 · 870 阅读 · 0 评论 -
关于C++对象模型(上)
这篇文章很长,我准备分成三次来转载,中间加一些我的理解(红色的字是我的新加上去的,蓝色的字是当时翻译作者加上去的)。上篇主要是前言(要解决的问题)和对象布局(有继承、单继承,不涉及多继承、虚继承、虚函数)的知识,全文在这里下载。文章内容转自:http://tb.blog.转载 2011-08-30 14:07:02 · 986 阅读 · 0 评论 -
关于C++对象模型(下)
下篇主要讨论调用成员函数、访问成员变量的开销,及其特殊成员函数、数组、异常处理的讨论。这篇文章中出现的对象定义都出现在上篇中。全文在这里下载。文章内容转自:http://tb.blog.csdn.net/TrackBack.aspx?PostId=763797介绍转载 2011-08-30 14:50:45 · 849 阅读 · 0 评论 -
2012各大公司的C++试题
那么多C++试题,其实最关键的是要知道考察的知识点在哪里。哎,应该好好重新看看《effective c++》了。网易3道C++试题:题目1:class A{public: A(int j):i(j) { fun1();原创 2011-10-13 22:21:23 · 5247 阅读 · 0 评论 -
操作系统习题解答
每次笔试,我都在操作系统的计算题中大费脑筋,以前学操作系统的时候,确实没有怎么做题。其实,各大公司出的题目都是作业题目,这一点我很不占优势。1.页式存储管理地址转换问题http://www.isenyo.com/?p=9若在一分页存储管理系 统中,某作业的页表原创 2011-09-28 15:21:40 · 6031 阅读 · 4 评论 -
C++内存管理
一篇好文章,记录一下。转自点http://blog.csdn.net/zhanghefu/article/details/5003407[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜转载 2011-09-28 17:13:32 · 2045 阅读 · 0 评论 -
C++ this指针解析
this指针我并不陌生,学过java的都知道,this在java中也经常出现。今天我专门研究了一下C++中的this指针。http://www.cnblogs.com/hnrainll/archive/2011/05/20/2051939.htmlthis指针指向的就原创 2011-08-24 20:54:11 · 1742 阅读 · 0 评论 -
C++实现复数类
主要还是练习封装,做一个demo。下一步会实现string类。# include using namespace std;class my_complex {private: int real; int imag;public: my_complex();原创 2011-08-22 17:39:49 · 6709 阅读 · 0 评论 -
C++ std::tr1::shared_ptr使用
看《effective c++》,作者一直强调用std::tr1::shared_ptr,比起auto_ptr好多了。shared_ptr采用引用计数,多个指针可以指向同一个对象;auto_ptr就不能,只能运行一个指针指向一个对象:如果要指针赋值,那么原来的指针要放弃对该对原创 2011-08-22 22:36:00 · 26160 阅读 · 3 评论 -
C++深拷贝和浅拷贝
C++深拷贝和浅拷贝转载 2011-05-17 17:19:00 · 1105 阅读 · 0 评论 -
c++命名空间
介绍C++命名空间的一篇文章,刚刚学C++的时候,我被满篇的域作用符号::都搞晕了。这篇文章终于让我熟悉了C++的命名空间(为什么需要命名空间、如何使用命名空间)。当然,觉得java的import机制更加优雅,至少没有满篇的域作用符::。一、 为什么需要命名空间(问题提出)转载 2011-07-27 10:52:18 · 5681 阅读 · 0 评论 -
C++中 public和private派生类继承问题和访问权限问题
昨天看effective c++的条款39,发现自己的基础太差了,竟然连C++的继承访问控制权限都搞不清楚,下了一本《C++ primer》的第四版,翻了翻。网上找了一篇文章,写得很好,解决了我的问题。转载如下:http://hi.baidu.com/laoyang1018/转载 2011-08-02 09:26:29 · 7976 阅读 · 1 评论 -
memset 、memmcpy、memmove实现及其区别
这三个函数实在是太经典了,不得不自己来实现一遍。三个函数的原型如下:void* memset(void *des, int val, size_t size) void * memcpy(void *des, const void* src, size_t size)原创 2011-09-02 12:24:09 · 3329 阅读 · 0 评论 -
前置++和后置++的区别
今天在阅读《google c++ 编程风格》的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意:对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理由是 前置自增 (++i) 通常要比后置自增 (i++) 效率更高。于是我查了查前置+原创 2011-09-04 20:12:50 · 31662 阅读 · 12 评论 -
C++ 的一个问题的理解(私有变量成员)
这个题目很奇怪啊,今天下午在看拷贝构造函数的时候,突然看到了很奇怪的一句话:class CExample{public: CExample(){pBuffer=NULL; nSize=0;} ~CExample(){delete pBuffer;} CExamp原创 2011-08-07 17:08:18 · 3599 阅读 · 1 评论 -
Google C++风格指南 阅读笔记
这个Google C++风格指南出得太好了,有很多C++的问题,其实通过阅读这份文档就可以了。相信读完后,可以在简历上加上一句,“具有良好的编码风格”,哈哈。下面记录一下我的读书笔记吧。整份文档的中文版本我已经上传到了资源里面。1. 头文件1.1头文件保护每次Ecli原创 2011-09-04 18:10:37 · 1222 阅读 · 0 评论 -
几个小程序
1.求变量val中1的个数:方法1:逐个去比较int getNum1(int val){ int num = 0; while (val){ num += val & 0x01; val = val >> 1; } return num;}方法2原创 2011-09-05 14:34:23 · 1263 阅读 · 1 评论 -
C++中的位拷贝和值拷贝
今天早上读《effective c++》的第五章条款,想到的深拷贝、浅拷贝,对应值拷贝和位拷贝。值拷贝和位拷贝的内容如下:http://blog.csdn.net/liam1122/article/details/1966617C++中的位拷贝和值拷贝为了便于说明我们以Strin转载 2011-07-19 09:43:25 · 2274 阅读 · 0 评论 -
C++ const引用详解
今天做C++ primer的习题,前面关于引用的部分,又傻了。哎,补基础吧。收集了一下别人的讲解。http://blog.csdn.net/k2eats/article/details/2541790(1) 在实际的程序中,引用主要被用做函数的形式参数-转载 2011-08-08 22:32:18 · 1349 阅读 · 1 评论 -
C++实现String类
C++实现String类,还没有完成,待继续。有以下注意的点:(1)赋值操作符返回的是一个MyString&,而重载的+返回的是一个MyString。其中的原因参看《effective c++》,主要是返回引用的时候,必须返回必须在此函数之前存在的引用,因为引用是一个名字原创 2011-08-22 18:52:29 · 9524 阅读 · 3 评论 -
C++复制构造函数和赋值符的区别
今天做C++ primer的习题,被复制构造函数和赋值符的区别弄晕了。简单地说,有一道题目如下描述:class t1;class t2 = t1;我先看见有一个等号,以为就是赋值符来做的,其实并不是这样的。做一个实验好了:class CTest{publi原创 2011-08-07 15:15:02 · 13042 阅读 · 5 评论 -
[转载]C++中虚析构函数的作用
http://blog.csdn.net/starlee/archive/2006/03/09/619827.aspx 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:转载 2011-05-20 14:36:00 · 641 阅读 · 0 评论 -
C++面试题目集合(持续跟新)
与我前面写的C语言进阶知识点遥相呼应。这才是C++面试,网上的面试题有些太简单了。C++面试题目最多集中在对象的内存模型,记住了:如果用c/c++,内存都不清楚,还写个屁的程序!1.C++的虚函数是怎样实现的? C++的虚函数使用了一个虚函数表来存放了每一个虚函数的入口地址,这个虚函数表又使用一个虚函数指针来进行访问。通常,虚函数指针都放在对象模型的第一个位置存放,这原创 2011-09-28 14:07:41 · 2896 阅读 · 2 评论