C++
文章平均质量分 72
Transcendencer
make impracticality come true
展开
-
【C++基础】----运算符重载 (02)
看完了基础的语法,我们来讨论几个实例。 1. ++运算符重载 ①. 前置自增运算符的重载 成员函数方式: 函数原型& operator++() ; 友元函数方式: friend 函数原型& operator++(类名&) ; ②. 后知自增运算符的重载 成员函数方式: 函数原型& operator++(int) ; 友元函数方式: friend 函数原型 operator++原创 2015-02-02 22:05:35 · 415 阅读 · 0 评论 -
二叉树非递归遍历法
二叉树的前中后三种遍历的非递归实现原创 2016-02-22 20:13:22 · 354 阅读 · 0 评论 -
static作用于全局变量、局部变量及顶层函数的作用
全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用原创 2015-02-27 19:17:59 · 719 阅读 · 0 评论 -
【C++基础】动态内存分配
在程序运行的过程中,我们需要能够自由地创建和销毁对象。 在C中,提供了动态内存分配(dynemic memory alloction)函数malloc()和free(),这些函数可以在运行时从堆中分配单元。 然而,在C++中这些函数将无法按照预期的情况去执行。因为构造函数不允许我们向它传递内存地址来进行初始化。而将对象的定义和初始化分离是一件十分危险的事情,可能会出现以下情况 : ①分配内存原创 2015-02-11 16:32:01 · 608 阅读 · 0 评论 -
C++中的const用法【02】----函数的参数和返回值
如果按值传递对象,它意味着传递的参数在函数中是不能被修改的。 如果按常量返回用户定义类型的对象的值,这意味着返回值不能被修改。 如果传递参数并返回地址,const 将保证改地址不会被改变。 1. 传递const 值 如果参数是按值传递,那么可用const 修饰指定参数。 void fun1(int value1 , const int value2) { val原创 2015-01-26 21:47:48 · 811 阅读 · 0 评论 -
C++中的const用法【01】----常量与指针
const 的设计之初是用来代替#define,后来它的身影逐渐扩大到了指针,函数参数,函数返回值类型,类与对象以及成员函数中。const 虽然对他们的作用稍有区别,但思想仍然是统一的。 可以说const 使用的恰当与否,直接关系到程序的高效与稳定。因此我在下面的文章中,简单介绍一下const 的基本用法与一些使用经验,希望对正在学习的朋友有所帮助。 1. 值代替 在C语言原创 2015-01-25 22:03:02 · 444 阅读 · 0 评论 -
C++中const的用法【03】----类
前面介绍了const 在常量与指针和const 在函数中的用法,虽然放在不同的位置会有不同的用法,但归根结底, const 的思想都没有变----那就是用来修饰一个不能被改变的量。 然而,const 在类中的含义有所不同。 下面我们来介绍const在类中的具体情况。 const 不仅被用来修饰类的成员,还可以在类外,是整个实例都作为const ,但类中难免有修改数据成员的函数,因此为了保持原创 2015-01-28 22:34:20 · 548 阅读 · 2 评论 -
【C++基础】----运算符重载(01)
一方面,在C++中,运算符重载( operator overloading)允许把标准运算符(如+ - * / % 等)应用于自定义数据类型的对象。 这样可以直观自然地看出自定义数据类型间的运算,并且提高程序的可读性。 另一方面,运算符重载仅仅是一种语法上的方便。默认运算符的本质就是函数的调用,而运算符重载就是另一种调用。 同时,虽然很多时候使用运算符重载可以提高程序的可读性原创 2015-01-31 17:34:44 · 420 阅读 · 0 评论 -
【C++基础】----操作符重载(03)
今天我们来讨论操作符重载中比较重要的一个内容:赋值操作符的重载 由于编译期对赋值有着严格的要求和限制,因此强制 operator=() 为成员函数。 成员函数的优点在于在调用时,永远有一个隐式的this指针被调用,而反观友元函数,我们可以将任何两个对象传给友元函数。原创 2015-02-03 20:39:57 · 428 阅读 · 0 评论 -
C++近期常见问题面试总结(一)
一、初始化列表:它的顺序应该和声明顺序一致,否则会引起初始化错误 class A{ private: const int a; double b; char c; public: A(int a_, double b_, char c_) : a(a_), b(b_), c(c_){} }; 在对类对象做赋值时,调用的拷贝构造函数,赋值调用的赋值重载 class B{ priva原创 2016-03-10 14:55:54 · 535 阅读 · 0 评论