C++

C++常用库
c++查询
c++运算符优先级助记口诀



#ifndef   A_H    	// 如果不存在A.h
#define   A_H 		// 就引入 A.h
...//Here   is   code. 
#endif		// 否则不需要引入

效果类似.
包含pragma once语句的文件只会被编译一次。
表示在编译的时候, 这个文件只被包含(include)一次,这样, 可以减少整个编译过程中打开这个文件的次数.


1. 宏定义/ typedef替换数据类型

C/C++ typedef用法详解(真的很详细)

//定义类型别名,char*别名PCHAR	
typedef char* PCHAR; 

2.文件操作 / iostream,fstream,sstream

注意: 文件和可执行程序在一个文件夹里可以直接写文件名,否则要指定路径在这里插入图片描述

  • iostream类: 负责与控制台输入输出打交道。 具体又可以区分为:istream和ostream(i读o写

  • fstream类: 负责与文件输入输出打交道。 具体又可以区分为:ifstream和ofstream (fstream参数表

  • stringstream类:负责与string上的输入输出打交道。具体又可以区分为:istringstream和ostringstream

fstream,sstream用法
ofstream和ifstream详细用法

getline用法 , 注意跟cin.getline()区分
函数声明

   bool getline(istream &in, string &s) 

功能说明:

从输入流读入一行到变量string s,及时是空格也可以读入。

–直到出现以下情况为止:
•读入了文件结束标志
•读到一个新行(有重载函数可以指定行分隔符,默认是"\n".)
•达到字符串的最大长度
–如果getline没有读入字符,将返回false,可用于判断文件是否结束.

3.使用多线程

要在CMakeLists.txt中加入

TARGET_LINK_LIBRARIES(your_executable pthread)

2. c++的override关键字
我那个编译器里把override标蓝(表示那是系统关键字),它有什么用?

我知道【英语单词】override表示子类覆盖掉父类的方法,调用时会调用子类的方法;父类对应的方法已经用virtual修饰。我问的是override作为c++【关键字】的用处。

描述:override保留字表示当前函数重写了基类的虚函数。

目的:1.在函数比较多的情况下可以提示读者某个函数重写了基类虚函数(表示这个虚函数是从基类继承,不是派生类自己定义的);2.强制编译器检查某个函数是否重写基类虚函数,如果没有则报错。

用法:在类的成员函数参数列表后面添加该关键字既可。

例子:
class Base {
virtual void f();
};

class Derived : public Base {
void f() override; // 表示派生类重写基类虚函数f
void F() override;//错误:函数F没有重写基类任何虚函数
};

注意:override只是C++保留字,不是关键字,这意味着只有在正确的使用位置,oerride才启“关键字”的作用,其他地方可以作为标志符(如:int override;是合法的)。

相关:override还有一个姊妹保留字final。

VC++编译器支持情况: VS2008,VS2010,VS2012,VS2013,+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值