C++一些注意点
文章平均质量分 85
该转栏介绍了一些关于C++编程常用知识点,自己整理网上的或者看书。
继续微笑lsj
眼界决定未来
展开
-
C++一些注意点之异常处理
几篇文章:(1)http://blog.csdn.net/daheiantian/article/details/6530318 (2)http://blog.chinaunix.net/uid-21411227-id-1826957.html 程序中的错误分为编译时的错误和运行时的错误。编译时的错误原创 2013-08-15 09:44:44 · 1800 阅读 · 2 评论 -
C++一些注意点之函数参数为指针
(1)平时比较常用的swap函数代码 #include using namespace std;void swap(int *a,int * b){int c = *a;*a = *b;*b = c;}int main(void){int d1 = 2;int d2 = 3;swap(&d1,&d2);cout<<d1<<" "<<d2<<endl;sy原创 2013-04-06 10:41:56 · 1564 阅读 · 0 评论 -
C++一些注意点之new和malloc
整理了一下网上关于这个问题的见解。 malloc/free和new/delete它们都可用于申请动态内存和释放内存,但是它们却有区别: (1)malloc与free是C++/C语言的内存分配标准库函数,属于stdlib库;new/delete是C++的操作运算符; (2)new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而mallo原创 2013-04-29 16:00:17 · 1738 阅读 · 0 评论 -
C++一些注意点之字符串与指针
C语言中有两种方法可以存放字符串,但是它们却有区别。本文是看看书上以及网上的一些博客然后总结一下,一孔之见。(1)分配内存位置的区别 char *p=“word”;//“word\0”被分配在字符串常量存储区存储区,所以如果对p[0]=‘x’是错误的。 char str[10]="word\n";//“word\0”被分配在栈空间中的,所原创 2013-06-02 18:55:47 · 2019 阅读 · 0 评论 -
C++一些注意点之数组与指针
1.“*”与“&”的作用 *除了表示取出指定地址的数以外,还有一层含义就是将行地址转换为具体到某个元素的列地址。&除了表示取地址以外,还有可以表示将元素地址转换为行地址。例子1: (1)int a[3][4];//a是一个数组名,a数组包含3行分别是a[0]、a[1]、a[2],它门不是一个简单的整形元素而是由4个整形元素所组成的一维元素。所以数组名a表示一个原创 2013-06-03 02:51:39 · 1368 阅读 · 0 评论 -
C++一些注意点之类和对象
1.在说明一个类时,没有给出类体而给出类名时,属于类的引用性说明。引用性说明的类不能用来建立对象,只能用来说明函数的形参、指针和引用。例如:class CC;CC c1;//引用性说明不能用来建立对象class X{ CC c3,c4;//错误的 CC* PC;//正确的,建立指针式可以的....};2.定义一个类时,在类体中又包原创 2013-06-07 12:42:35 · 1733 阅读 · 0 评论 -
C++一些注意点之继承和派生
1.继承权限: public:公有派生,基类中所有成员在公有派生类中保持各个成员的访问权限。基类public成员,在派生类也为public成员;基类protected成员,在派生类可以访问,在派生类之外不能直接访问;基类private成员,除了基类的成员函数能访问之外,其他都不能访问。基类对基类对象和派生类对象的访问权限时一样的。 protected:与私有继承的情原创 2013-06-09 02:32:03 · 4611 阅读 · 1 评论 -
C++一些注意点之静态成员
定义类时实际上是定义了一种数据类型,编译程序并不为数据类型分配存储空间。只有在说明对象时才为对象的每个成员分配空间,并把占有的空间当一个整体来看待。当我们将类的一个成员存储类型指定为静态类型时,则由该类所产生的所有对象均共享为其静态成员所分配的一个存储空间。换言之,在说明对象时,并不为静态类型的成员分配空间。1.静态数据成员 静态数据成员注意一下几点: (1)类的静态成原创 2013-06-10 15:52:25 · 2664 阅读 · 2 评论 -
C++一些注意点之友元函数、虚函数以及const和volatile对象
1.友元函数 定义类时,在类中加上关键字修饰函数,则该函数就能成为该类的友元函数,它可以访问该类的所有成员。关于友元函数需要注意以下几点: (1)友元函数不是类的成员,不带this指针,必须通过对象名或者对象的引用作为友元函数的参数来访问对象的成员。友元函数必须在类定义中说明(但是对友元函数指定访问权限无效,因为友元函数不属于类,所以在类中不管哪声明都是一样的效果)可以原创 2013-06-10 21:19:38 · 3199 阅读 · 1 评论 -
C++一些注意点之型别转换
看了一些网上的博客,整理了一些前辈们的思路,I am a burglar!端午节就这么过了,多年以后再回首吧。 命名的强制类型转换符号的一般形式如下: cast_name(expression);其中, cast_name可以为dynamic_cast、static_cast、const_cast和reinterpret_cast的一种,原创 2013-06-12 14:48:15 · 2100 阅读 · 2 评论 -
c++一些注意点之虚表与虚指针
总结一下网上的文章: http://blog.chinaunix.net/uid-23634108-id-2393461.html http://blog.csdn.net/wswifth/article/details/5741687 http://blog.sina.com.cn/s/blo原创 2013-06-27 12:37:07 · 8267 阅读 · 0 评论 -
C++一些注意点之operator new 和new operator
在C++中,operator new和new operator还是很有区别。new operator是c++内建的,无法改变其行为;而operator new 是可以根据自己的内存分配策略去重载的。1. operator new operator new和operator delete有两个重载版本,每个版本支持相关的new表达式和delete表达式:原创 2013-06-30 04:52:17 · 2917 阅读 · 1 评论 -
C++一些注意点之转换操作符
转换操作符定义 类可通过一个实参调用的非explicit构造函数定义一个隐式转换(其他类型—>类类型)。当提供了实参类型的对象而需要一个类类型的对象时,编译器将使用该转换。这种构造函数定义了到类类型的转换。例如Class A{ A(int){};//非explicit构造函数}Func(A a);Int num;Func(num);//调用的时候通过int类型的原创 2013-08-01 09:41:40 · 1767 阅读 · 2 评论 -
C++一些注意点之操作符重载
重载操作符需要注意(1)重载操作符必须具有一个类类型操作数。不能重载内建类型的操作符。operator +(int,int);//这个是错误的,都为内建类型operator +(int,classType);//可以改成这样,保证有一个自定义类型(2)重载操作符可以定义为普通非成员函数或者类的成员函数。当定义为类的成员函数,默认含有一个this指针,作为一个参数;当定义非成员函数时,原创 2013-08-01 14:18:19 · 1600 阅读 · 0 评论 -
c++一些注意点之复制控制
本文主要包括构造函数、复制构造函数、赋值操作重载和析构函数。做一个Primer阅读笔记。构造函数(没有定义,系统合成) 构造函数可以重载,只要创建一个对象,构造函数自动被调用。new一个对象的时候,先分配空间,再调用构造函数(STL中将整个过程分开)。构造函数分为初始化阶段,普通的计算阶段。不管成员是否在构造函数初始化列表中显示初始化,类类型的数据成员总是在初始化阶段初始化,然后原创 2013-08-01 21:39:10 · 1569 阅读 · 0 评论 -
C++一些注意点之指针成员管理
C++类中经常含有指针,但是如何处理这个问题,本文针对>和>的方法进行了一点小结,本文只是浅尝辄止,深了自己都不懂了,且本文的例子漏洞百出,本文旨在总结这几种处理方法。 类中含有指针带来的一些问题 设计具有指针成员的类时,类设计者必须首先需要决定的是该指针应提供什么行为。将一个指针复制到另一个指针时,两个指针指向同一个对象。当两个指针指向同一对象时,可以实用任一指针改变对象。类原创 2013-08-02 16:58:36 · 1796 阅读 · 2 评论