![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 53
woyoudianlei
这个作者很懒,什么都没留下…
展开
-
C++中指针和引用的选择
何时使用引用和指针 1. 尽可能使用引用传递参数 2. 尽可能的使用const来保护引用和指针 3. 在可以使用引用的时候不要使用指针 4. 不要试图给引用重新赋值,使之指向另一个变量,这是不可能的(因为引用是变量的别名,和变量是统一的) 如果需要首先指向一个对象,然后指向另一个,则必须使用指针;转载 2014-02-22 18:42:01 · 513 阅读 · 0 评论 -
C++学习之函数指针
C++学习之函数指针 和数据项类似,函数也有地址,函数的地址是存储在机器语言代码的内存的开始地址。通常,这些地址对用户而言,不重要也没什么用处,但对程序而言,它却很有用。一、函数地址 函数地址的获取很容易:只要使用函数名即可。也就是说,如果think()是一个函数,那么他的函数名think就是该函数的地址,要将函数作为参数进行传递,必须传递函数名字,一定要区分转载 2014-03-22 14:48:19 · 442 阅读 · 0 评论 -
C++学习之引用
C++学习之引用 临时变量、引用参数和const 现在,当参数为const引用的时候,如果实参与引用参数不匹配,C++将生成临时变量。C++将在下面两种情况下生成临时变量:1、实参的类型正确,但不是左值;2、实参的类型不正确,但可以转换为争取的左值。左值参数是可以被引用的数据对象,例如变量,数据元素,结构成员,引用和被解除引用的指针都是左值。非左值包括非字面常量原创 2014-03-22 17:47:53 · 557 阅读 · 0 评论 -
C++学习之使用new的注意事项
C++学习之使用new的注意事项 在构造函数中使用new来初始化对象的指针成员成员时必须特别小心,具体的说,应该如下这样做:一、如果在构造函数中使用new来初始化指针成员,则应该在析构函数中使用delete;二、new和delete必须相互兼容,new对应于delete,new[]对应于delete[];三、如果有多个构造函数,则必须以相同的方式使用new,要么都带中括号转载 2014-04-01 17:35:56 · 609 阅读 · 0 评论 -
C++学习之友元类和友元函数
C++学习之友元类和友元函数原创 2014-04-15 19:50:43 · 673 阅读 · 0 评论 -
C++学习之指针的常见错误
C++学习之指针的常见错误 我们在编程的过程中,有时候在使用指针的时候,删除一个指针以后一定要将这个指针设置为空指针,这是因为删除这个指针只是删除这个指针指向的地址,这个指针还真是的存在程序中,并且它仍然会指向原来的内存空间。这时候如果你忘记了这点而再次尝试使用这个指针的时候,那么将会导致程序出错。 这种错误非常难于调试,因为这种值得改变不太容易使人联想到时被删除的原创 2014-03-22 15:59:33 · 613 阅读 · 0 评论 -
全局变量,extern和static以及命名空间的区别
全局变量,extern和static以及命名空间的区别 全局变量只是在声明它的文件中有效,假如在另一个文件中声明定义了一个相同名称的全局变量,则在后续使用这两个变量的时候会产生名字上的冲突,解决的办法就是将其中一个全局变量的声明写在未命名的命名空间中,这样可以防止在另一个文件中使用同名变量的时候出现编译上的错误。原因是未命名的命名空间的所有成员在其他文件中都是不可见的,因此也就间接原创 2014-03-09 14:40:33 · 1250 阅读 · 0 评论 -
Visusl Studio常用快捷键
Visusl Studio常用快捷键快捷键 功能ctrl+k,c 注释选中行 ctrl+k,u 取消对选中行的注释CTRL + SHIFT + B:生成解决方案CTRL + F7 :生成编译CTRL + O :打开文件CTRL + SHIFT + O:打开项目CTRL + SHIFT + C:显示类视图窗口F4转载 2014-03-08 10:06:10 · 484 阅读 · 0 评论 -
C++学习之文件的输入输出
C++学习之文件的输入输出 一、文件的打开与关闭 1.输出数据到文件 文件的操作需要包含fstream头文件,文件的操作对象为ifstream,ofstream类对象,需要首先定义ifstream/ofstream对象(该对象与cout的用法相同),然后建立文件与对象的关联,同时指定工作模式,接着调用成员函数open()/close()实现对文件的打原创 2014-03-04 19:28:06 · 560 阅读 · 0 评论 -
C++学习之嵌套类和局部类
C++学习之嵌套类和局部类 局部类 在一个函数体内定义的类称为局部类。 局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。int a;void fun(){转载 2014-03-04 13:21:25 · 595 阅读 · 0 评论 -
C++学习之this指针
C++学习之this指针 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行转载 2014-02-28 20:39:41 · 448 阅读 · 0 评论 -
C++学习之运算符重载的总结
C++学习之运算符重载的总结 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用域不同类型的数据导致不同行为的发生,C++为运算符重载提供了一种方法,即运算符重载函数。其函数名字规定为operator后紧跟重载运算符。比如:operator+(),operator*()等。(1)运算符重载函数作为类的友元函数的形式: class 类名转载 2014-02-25 23:00:01 · 708 阅读 · 0 评论 -
C++操作符重载
C++操作符重载 在C++中有时候我们需要下列这样的操作: #include using namespace std; class a { public: int x,y; a(int i,int j){x=i,y=j;} };原创 2014-02-24 19:54:27 · 415 阅读 · 0 评论 -
结构体和函数
结构体和函数 结构体是一种数据类型,作为数据类型,它就可以定义变量,同时也可以作为函数的形式参数,或者让函数的返回值为一个结构体类型。下面通过一个代码来说明这一点: #include using namespace std; struct people { int weight;原创 2014-02-24 17:30:23 · 772 阅读 · 0 评论 -
typedef的用法总结
typedef的用法总结 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。转载 2014-02-23 23:31:22 · 469 阅读 · 0 评论 -
C++中的函数指针和指针函数
C++中的函数指针和指针函数 数组名一般可以被当成指向数组第一个元素的常量指针,同样的情况,在函数中,函数名可以本当成指向函数的常量指针,假如一个函数已经定义,那么它在计算机中一定有特定的内存空间,那么指向这块空间的指针就被称为函数指针。下面是一个函数指针的声明方法: int(*p)func(&a,&b); 这句代码表示声明了一个指向in原创 2014-02-23 23:04:31 · 426 阅读 · 0 评论 -
C++之继承和动态内存分配
C++之继承和动态内存分配转载 2014-04-04 20:07:03 · 981 阅读 · 0 评论