C++
Sherbet_Lemon
这个作者很懒,什么都没留下…
展开
-
浅谈C++中的虚函数
多态是指使用相同的函数名来访问函数不同的实现方法,即“一种接口,多种方法”,用相同的形式访问一组通用的运算,每个运算可能对应的行为不同。C++支持编译时多态和运行时多态,运算符重载和函数重载就是编译时多态,而派生类和虚函数实现运行时多态。运行时多态的基础是基类指针,基类指针可以指向任何派生类对象。虚函数与基类指针在一起时会有奇妙的现象...1.虚函数是为了实现多态而存在转载 2015-09-08 12:40:04 · 336 阅读 · 0 评论 -
C,C++中使用可变参数
可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等。可变参数是实现printf(),sprintf()等函数的关键之处,也可以用可变参数来对任意数量的数据进行求和,求平均值带来方便(不然就用数组或每种写个重载)。在C#中有专门的关键字parame,但在C,C++并没有类似的语法,不过幸好提供这方面的处理函数,本文将重点转载 2016-01-25 13:54:46 · 383 阅读 · 0 评论 -
iomanip头文件
iomanip是指IO Manipulators,意思是输入输出操纵器。iomanip中包含如下函数:1、setiosflags:setiosflags(ios::fixed) 固定的浮点显示,与setprecision(n)合用,可以控制小数点右边的数字的个数。setiosflags(ios::scientific) 用指数表示小数setiosflags(ios::lef原创 2015-09-29 19:44:47 · 6787 阅读 · 0 评论 -
C++尽量不要使用#define
为什么这么说呢?或许很多程序员已经习惯在文件开始使用大量的#define语句例如:这里程序文件开头有如下#define语句 复制代码 代码如下:#define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 ... ... 假设这里程序运行出错误,而且就是在我们使用转载 2015-09-08 00:03:28 · 1291 阅读 · 0 评论 -
inline函数
(一)inline函数(摘自C++ Primer的第三版)在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/}; inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline函转载 2015-09-08 12:06:22 · 289 阅读 · 0 评论 -
C++枚举类型
据C++primer plus整理C++的enum工具提供了创建符号常量的方式,这种方式可以代替const。例:enum color{red,orange,yellow,green,blue};可以使用枚举名来声明这种类型的变量。color choice;枚举类型还有一些特性:在不进行强制类型转换的情况之下只能将定义枚举时使用的枚举量赋值给这种枚举的变量。choice原创 2015-09-08 20:51:30 · 413 阅读 · 0 评论 -
C++标准库异常类
C++标准库异常类继承层次中的根类为exception,其定义在exception头文件中,它是C++标准库所有函数抛出异常的基类,exception的接口定义如下:namespace std { class exception { public: exception() throw(); //不抛出任何异常转载 2015-09-04 16:54:47 · 414 阅读 · 0 评论 -
C++类中包含string类型数据使用read和write实现文件读取和输出时遇到的问题
本人一渣,曾经遇到这样的问题:类中包含string类型的数据,在使用read和write时,程序运行会崩溃。听学长介绍,string不是一整块内存都是字符串数据的,是有比较复杂的内存管理的,read进去不做处理是没什么问题,但是退出函数时定义的类的对象会析构,然后也会调用string类型数据的析构,这时候会导致内存混乱。想用getline函数解决这个问题,后来发现类中有int类型数据时会导致i原创 2015-09-02 12:45:12 · 6868 阅读 · 1 评论 -
常量指针,指针常量,野指针
在我看来,不必太纠结于常量指针和指针常量的汉语名称,一定要记住用法就好了。记有一指针,p表示地址,*p表示值。1、常量指针书写方式有const int *p或者int const *p。在这种情况之下,const始终在*p之前,也就是说const(常量)修饰*p(指针的值)。*p不能修改,就是说该指针指向的值不能修改。在这种情况之下,*p是只读的。#include usi原创 2015-09-09 00:00:45 · 409 阅读 · 0 评论