自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

薄葬

没有梦想 何必远方

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 Primer (十五)

IO1. IO类有三种,头文件 包含了istream、ostream、iostream  头文件 包含了读写文件的ifstream、ofstream、fstream  头文件 包含了读写string的istreamstring、ostringstream、iostringstream2. fstream和iostringstream都是继承自iostream的,所以使用iostream的地

2017-08-24 22:42:04 164

原创 Primer (十四)

类class A {     public:    A() {a=10;b=a;} // 错误,没有进行初始化,只进行了赋值,由于const和引用都需要初始化,所以错误    A():b(a),a(10){} // 正确,初始化顺序是成员函数声明顺序,先b后a    A():a(10),b(a){} // 有时错误,有的编译器不认可不按声明顺序的初始化    void

2017-08-23 21:12:29 169

原创 Primer (十三)

类class A { public: A() = default; // 因为有自定义的构造函数,覆盖了默认构造函数,用default可以暴露出默认构造函数 A(int input):a(input),b(0){} // 构造函数不能是const的 void func1() const {cout<<a<<endl;} // 定义在类内的,默认为内联函数

2017-08-22 09:17:27 150

原创 Primer (十二)

类struct A { int show() const { // 定义在类内的函数是内联的;const表示函数不能改变类的成员,a不能修改; return a; } A& combine(const A&); // 函数声明必须在类内,定义可以在类外; int a=1; // 成员变量,最好初始化,或者指定构造函数,默认初始化不同的编译器会产生

2017-08-21 22:21:31 137

原创 Primer (十一)

函数指针// 使用前声明bool (*pf)(int); // pf是一个函数指针pf = function; // 用函数名初始化函数指针bool b = pf(10); // 相当于bool b = function(10);bool b = (*pf)(10); // 等同// 重载bool f(int);bool f(double);bool (*pf)(int) =

2017-08-20 21:20:46 169

原创 Primer (十)

函数1. void返回值,可以不写return,也可以在需要返回的地方写return;2. 返回值有三种,变量、指针、引用,与实参赋值形参是一样的,变量和指针都是基于拷贝的,引用不是拷贝。指针指向的内容没有拷贝。main(){ int a=10;}int f1(int i) { // 返回变量,直接返回即可,复制i后返回。 return i;}int *f2(i

2017-08-20 17:23:46 130

原创 Primer (九)

函数1. 函数内的局部变量包括函数内的和形参,他们会隐藏函数外的同名变量。2. 静态局部变量static只会初始化一次,生命周期到程序结束,同样有隐藏功能。3. 函数如果在主调方后面,需要声明,函数声明可以省略extern。一般在头文件中声明,cpp引用该头文件。声明可以只带形参类型void func(int, int); 但是推荐补全void func(int a, int b)

2017-08-19 15:53:36 166

原创 Primer (八)

语句1. switch语句如果没有default,且最后不是break;也会执行完最后一条跳出。2. do while时,while结束要加分号。3. do while时,while里面的变量不能定义在do里。 4. 异常处理try { cin<<a<<b; if (a == b) { throw runtime_error("a should

2017-08-19 15:03:12 189

原创 运算优先级表

.点->箭头++后置++前置!逻辑非*解引用&取地址()类型转换* \ % + -四则运算>位移>= != ==比较& ^ |位运算&& || ? :逻辑运算=赋值+= -=

2017-08-19 15:00:55 343

原创 Primer (七)

运算1. 注意|| &&中的短路运算原则。2. bool值在转化为整数时,true转化为1 false转化为03. 赋值运算返回左值。 while(0 == (ret = getValue())) {}4. ++i i++int a,i=0;a = ++i; // a=1,i=1 先执行++i,再赋值给aa = i++; // a=1,i=2 先执行a=i再执行i++//

2017-08-18 22:57:29 182

原创 Primer (六)

数组1. 数组也是容器,和vector的区别在于不能动态增长,必须初始化时指定长度,可以存放任何对象。2. 引用不是对象,所以没有存放引用的数组。3. 初始化数组长度必须使用常量:int a = 10;const int b = 10;int c[a]; // 错误,a不是常量int c[b]; // 正确4. 用字符串初始化数组时,最后一位默认为空字符。char s[]

2017-08-16 22:42:18 132

原创 Primer (五)

Vector1. vector 是一种类模板。需要 using std::vector 有两种初始化方法:vector v(10,0); // 10个0vector v{10,0}; // 10和0vector v(10); // 10个默认0vector v{10}; // 102. 主要操作有v.empty() v.size() v[n] v.push_back()v.s

2017-08-15 22:49:18 168

原创 Primer (四)

1. 标准类型string必须引用string头文件。2. 常用操作string.empty(); string.size();3. string.size()返回值是string::size_type类型的正整数string s1="abc";string s2 = s1+"def"+"ghi"; // 正确,从左至右原则string s3 = "def"+"ghi"+s1; /

2017-08-14 21:30:11 149

原创 Primer (三)

头文件保护符预处理发生在编译之前,预处理变量只有两个状态,已定义和未定义#ifndefine ABC_H // 预处理器判断是否未定义ABC_H#define ABC_H // 定义ABC_H,这是全局跨文件的xxxxxx#endif // 结束IF#include

2017-06-14 22:51:07 174

原创 Primer (二)

引用1. 引用不是拷贝,不是对象,是引用的对象的本身2. 引用必须初始化时赋值,且不能改变引用关系指针1. 指针本身是一个对象,不必初始化时赋值,可以改变指向关系,int *p = &i; p等于i的地址 *p等于i的值2. 空指针将地址赋值0都可以int *p = nullptr;p = 0;p = NULL;p = nullptr;

2017-06-13 07:53:19 204

原创 Primer (一)

C++基本类型转换1. 赋值转换“=”左边地位最高2. 在算式中转换,三规则(1)级别:double>float>long long>long>int>short>char(2)同级比较时,unsigned大于普通类型(3)bool非0永远先变为13. 字面值常量也可以加类型转换(1)前缀:针对字符串和字符 u8'abc'代表utf-8格式

2017-06-12 10:18:26 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除