c/c++
文章平均质量分 83
qll125596718
新浪微博:http://weibo.com/liamquan
展开
-
对引用型参数是否加const限定一定要慎重
原始代码如下:编译报如下错误:“错误:不能将类型为‘Student&’的非const引用初始化为类型为‘std::string’的临时变量”分析:fn(string("Jenny"))调用后,由fn(Student& s)和Student(const string& s)可知,系统会为fn构造一个临时的Student对象,注意这个临时的Student对象是const类型的,再传原创 2012-11-11 10:17:06 · 5573 阅读 · 0 评论 -
vi高亮相关问题
1 、配置文件的位置在目录 /etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“. vimrc ”。例如,/root目录下,通常已经存在一个. vimrc 文件。如果不知道配置文件及脚本的位置,可以在vim中使用命令 :scriptnames ,将显示如下路径/etc/vimrc原创 2012-11-10 09:10:53 · 4400 阅读 · 0 评论 -
C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使转载 2012-03-17 10:38:02 · 1169 阅读 · 0 评论 -
c语言堆和栈的区别
一、预备知识—程序的内存分配 一个由c/c++编译的程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(s转载 2012-02-26 13:37:52 · 1986 阅读 · 2 评论 -
static作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable转载 2012-02-20 22:26:39 · 1070 阅读 · 0 评论 -
c++中const的作用
采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常转载 2012-02-20 22:02:39 · 1257 阅读 · 0 评论 -
linux c库文件和头文件相关问题
1.从几个问题谈起问题一:undefined reference to 'xxx'.问题二:/usr/bin/ld:cannot find -lxxx.问题三:xxx.h:No such file or directory.首先,这几个问题都不是编译错误,是链接错误,也就是如果出现的是这几个错误,说明你的源程序本身没有问题,是你的编译选项用的不对或者缺少相关的库文件或者头文件。前两原创 2011-11-29 13:20:06 · 9221 阅读 · 2 评论 -
c++ bitset类用法
有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的using声明:#include using std::bitset;1.bitset定义和初转载 2011-10-24 22:10:13 · 91163 阅读 · 8 评论 -
typedef函数指针用法
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识原创 2011-10-20 12:21:07 · 201355 阅读 · 61 评论