
c++
文章平均质量分 72
BT六眼飞鱼
这个作者很懒,什么都没留下…
展开
-
浅议数组不等于指针
在刚搞C开发的时候,对于char *p="abc"和char p[3]="abc"这两句话的理解有些问题,认为他们基本上是等同的,直到有一次在一个头文件中定义了char p[3]="abc" 在另一个文件中写了extern char *p,编译器报错!然后我就对这两句话的含义做了下分析,有空写出来备份下。呵呵 GOGO! 一、当p被定义为数组时。原创 2010-01-31 18:33:00 · 1212 阅读 · 0 评论 -
由vector造成的对象切片问题
由vector造成的对象切片在编写一个小实例的时候,发现用vector存放基类,而试图调用子类的虚函数是行不通的!代码如下:#include #include using namespace std;class base{public: base(void){}; virtual ~base(void){} base(const base& _rhs){}; base& operator=(const base& _rhs) {原创 2010-10-18 14:56:00 · 3225 阅读 · 0 评论 -
如何复制一个函数
<br />复制一个函数的每个字节,char数组也能成为函数 代码如下:<br />#include <stdio.h>int add(int _x,int _y){ return _x + _y;}int main(void){ unsigned char buff[255] = {0}; unsigned char* pBuffHead = buff; unsigned char* pFun = (unsigned char*)(&add);原创 2010-10-20 15:15:00 · 2019 阅读 · 0 评论 -
C++的10种境界 看看你处于第几级
0 级:简历上写着了解c++, 实际上不知道mfc 根 VC有什么区别。 1 级:简历上写着精通c++, 但是仅仅知道mfc, 认为VC就是C++的一切。 2 级:总是使用malloc,或者 char[100] 来获得内存,但不知道怎么在指定内存上面创建对象。 3 级:感觉 std::string 没有 CString 好用! 听说过g++。 4 级:会使用 std::string, 认为 c/c++ 很不科学,完全就不是一个语言嘛. 知道4种以上c++ compiler. 感觉自己什么都会转载 2010-10-21 13:28:00 · 4068 阅读 · 0 评论 -
浅析"烫烫烫烫"是怎么来的
浅析"烫烫烫烫"是怎么来的在用VC写代码时,经常会遇到在栈中申请空间的并且没有被初始化的字符数组就会显示"烫烫烫烫。。。",虽然是知道编译器对栈中没有初始化的数据会进行默认的初始化工作,但是一直不得要领,在拜读《程序员的自我修养》的时候有所收获,还挺有意思的,写出来和大家分享。代码很简单,就是在栈中申请了一个大小为4个字节的字符数组。int main(void){ char x[4]; return 0;}用断点查看X的值,可以发现,“烫烫”出现了:x 0x0012ff60 "烫烫烫烫?"原创 2010-10-22 10:58:00 · 30052 阅读 · 2 评论 -
由一道题目想到的C++编译器优化问题
这两天看到了一个问题,看似简单,但是用的知识着实不少,原题如下:#include "stdafx.h"class Base{public: Base(){} virtual ~Base(){} Base(const Base &other); // 只声明, 没定义private: Base &operator=(const原创 2011-11-14 09:27:31 · 2373 阅读 · 2 评论 -
traits技巧能解决什么问题
《STL源码解析》是侯杰大师翻译的著作,其中在Iterator一章着重介绍了traits技巧,认为traits技巧是搞懂的STL源码的入门钥匙,既然编写STL的神人们都这么重视traits,那么traits到底能帮助我们解决什么问题呢?traits的作用在于能“提取”出类型的特性。举个例子:有个需求是这样的,需要写一个全局的print函数,来打印入参的对象,假设用OO的思想:设计一个cprin原创 2011-10-25 16:02:44 · 2373 阅读 · 3 评论