C++学习心得
nirvana_newbie
要想得到就一定要付出不要把光阴埋葬乘着风追落到有永恒的地方
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一个表达式中出现多个自增自减运算符的求值问题
昨天想进一个群,被群主拒绝,理由是一道自增运算符的题目。虽然自己猜出的答案和编译结果一样,但是百度了一下,发现网上讲的有点模棱两可,于是在同事的指导下查看了汇编代码才解决了心头的疑惑。 首先先看一下三种运算表达式: #include using namespace std; int main() { int i=2; cout<<i++*i++*i++<<endl; int j=3;原创 2013-05-21 10:56:37 · 1742 阅读 · 1 评论 -
类模板的.h和.cpp文件分离
template class Abc { public: T a; public: void setvv(T b); T getvv(); }; #include "b.h" template void Abc::setvv(T b) { a = b; } template T Abc::getvv() { return a; } #include "b.cpp" #inc原创 2013-07-18 11:27:17 · 1104 阅读 · 0 评论 -
华为专家面试题分享
好久不写博客了,这段时间在研究COM。正好这段时间,公司的几位同事应聘华为专家的岗位,旁听了电话面试,获取了一些面试题,与大家分享。 1.新开一个进程,监听其他进程openFile()操作的次数。 2.TCP/IP协议如何保证数据传输不丢失。 3.Http协议如何实现断点续传。 4.CreateFile()与strcpy()的区别。 5.32位系统能获得的最大内存,以及最大的用户使用内存原创 2013-06-20 12:50:37 · 1378 阅读 · 0 评论 -
【数据结构】中缀表达式转换后缀表达式
我们平时写的数学表达式都是中缀表达式,如:a+b*c+(d*e+f)*g 现在要用计算机来实现这样的表达式,可以转换成后缀表达式再进行运算。自己写了一段代码如下: #include #include using namespace std; void midtotail(char *a) { stack c; while (*a!='\0') { if(*a >= '0'原创 2013-05-13 17:06:35 · 1147 阅读 · 0 评论 -
C++Primer第十章TextQuery
昨天学习了容器和文件流操作,写了C++Primer书中的TextQuery类。 textquery.h #ifndef TEXTQUERY_H #define TEXTQUERY_H #include #include #include #include #include #include using namespace std; class TextQuery { pu原创 2013-05-09 11:49:09 · 625 阅读 · 0 评论 -
C++面试之基础知识集锦
1.static关键字作用总结 http://www.cnblogs.com/biyeymyhjob/archive/2012/07/19/2598815.html 2.指针数组与数组指针的区别 http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html 3.在C++ 程序中调用被C 编译器编译后的函数,为原创 2013-04-24 17:37:55 · 645 阅读 · 0 评论 -
C++指针学习心得(二)
读《高质量C++编程指南》的时候,看到一个有趣的题目:char *p = "abc"; cout<<p[0]<<p[1]<<p[2]<<endl;//可以输出 p[1] = "B";//不可以复制 不知道为什么不可以复制,于是写下了 *p = "aBc";//可以 这样是可以的。认真分析原因,得知:*p的值是"abc";系统自动为常量"abc"分配了地址,所以指针p指向原创 2013-04-18 11:41:08 · 725 阅读 · 0 评论 -
C++ fstream读写文件
#include #include #include #include using namespace std; void main() { fstream f1; f1.open("d:\\me1.txt",fstream::in|fstream::out); //打开文件用于写,若文件不存在就创建它 if(!f1)return; //打原创 2013-05-09 10:42:35 · 1106 阅读 · 0 评论 -
C++指针学习心得(一)
最近换了新工作,从PHP转C++,毕业两年都没碰过C++了,现在突击复习,从《C++ Primer中文第四版》开始。 第一遍看完,对指针的认识是“存放的是对象的地址,通过解引用*来获取值”。自认为应该能掌握指针了,早上看了一篇文章,地址http://www.cnblogs.com/lazycoding/archive/2013/04/17/3025453.html,对指针又稀里糊涂毫不了原创 2013-04-18 11:07:02 · 1046 阅读 · 0 评论 -
构造和析构函数中绝不调用虚函数
原文地址:http://dev.yesky.com/441/2033941.shtml转载 2013-04-22 10:09:08 · 515 阅读 · 0 评论 -
基类派生类虚函数的默认形参问题
最近做了一份笔试题,发现一个有意思的题目,关于虚函数默认形参的。代码如下 #include using namespace std; class A { public: virtual void f(int n=10) { cout<<"A::n="<<n<<endl; } }; class B:public A { public: virtual void f(int n=20)原创 2013-05-20 14:20:35 · 1489 阅读 · 0 评论 -
memset与memcpy用法
memset() 函数原型:void *memset(void *s,int c,size_t n) 作用:将从指针s指向的地址开始n个字节的内存赋值为c。 memcpy() 函数原型:void *memcpy(void*dest, const void *src, size_t n); 作用:由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址原创 2013-04-19 16:48:18 · 765 阅读 · 0 评论 -
构造函数为什么不能是虚函数
原文地址:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/08/28/2660708.html 原文作者列出了五条原因,但是我只能理解第一条红色划线部分,呵呵,其余的感觉有点雷同。等以后知识更广泛了再回头理解后面四条的原因吧。 1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个转载 2013-04-22 11:00:35 · 558 阅读 · 0 评论 -
C++支持多态的方法
C++以下列方法支持多态: 1.经由一组隐式的转化操作。例如把一个derived class指针转化为一个指向其public base type的指针:Derived *pd = new Base(); 2.经由virtual function 机制:pd->foo(); 3.经由 dynamic_cast 和 typeid 运算符:if( Base *pb = dynamic_cast(p原创 2013-04-22 11:12:42 · 613 阅读 · 0 评论 -
如何将多态与现实应用结合起来
最近在看C++基础,多态是C++面相对象的一个特征。书上讲的很详细,但我向来对文字不敏感,必须要在脑海里构建抽象模型才能深刻理解。否则就是纸上谈兵了。 思考了一会儿,想出一个案例:我要出门了,肯定要选择一个交通工具,交通工具有汽车、自行车,我可以选择其一。 于是,我把这个案例虚拟化。交通工具的出行虚拟成类Transport,汽车的出行虚拟成类Car,自行车的出行虚拟成类Bike原创 2013-04-26 14:54:39 · 636 阅读 · 0 评论 -
虚析构函数的学习心得
首先来看一段传统的代码: #include using namespace std; class A { public: A(){} virtual ~A(){cout<<"~A"<<endl;} //第一处 }; class B:public A { public: B(){} virtual ~B(){cout<<"~B"<<endl;} /原创 2013-04-27 12:01:45 · 739 阅读 · 0 评论 -
C++运算符优先级
原创 2013-04-27 15:21:53 · 806 阅读 · 0 评论
分享