C++基础回顾(一)

看视频课程:C++面向对象编程

第1节c++概述




第2节C++快速入门


1.以#开始的,被称为预处理指令;
而include是指 编译前将<>内的文件提取到当前文件

2.std是一个命名空间
std::cout  std::cin 
写起来比较麻烦,可以加 using namespace std;
这样可以直接写cout cin

3.三元运算符 
A?B:C  if(A){B}else{C}

4.数组的使用:
头文件 #include<vector>
声明一维数组,vector<int> c;
声明二维数组,vector<vector<int> > array;
则二维数组的行数与列数,代码如下:
int rowcount = array.size();
int colcount = array[0].size();
5.字符串的使用:
头文件 #include<string>
有了string,C++比C方便了很多

6.函数:
函数重载(参数类型、个数不同)、
内联函数(关键字inline ,代码较短,频繁被调用,调用形式变成了代码嵌入)

7.C++的内存分为两部分:堆和栈
栈:局部变量、函数参数都是栈中分配的,函数调用也是由栈实现的(C语言)
堆:从操作系统批发内存的零售商,应用程序向操作系统申请内存的代价很大,由此引入了堆,随着应用程序生与亡
(1)C语言:用malloc 从堆分配空间

if语句判断是否成功分配空间
free(p);释放堆空间
p=NULL;将其置为空指针,防止误用,不然称为野指针会错。
(2)C++语言:用new 从堆分配空间

8.引用:变量的别名,指向同一个区域,一个变化另一个也变化
引用必须在定义的同时就初始化。初始化之后,不能再更改引用,可用于函数参数传递

9.标准模板库STL

第3节VS2010开发环境介绍

调试:
断点设置(调试时程序在断点前停下)F9
继续:F5
单步进入(逐语句F11)与单步调试(逐过程F10),在一般语句时是一样的,遇到函数时不同
Debug版(调试)与Release版(发布)

第4节标准流输入输出


1.endl的作用换行和刷新缓存区
flush只是刷新缓存区
cout<<"Hello World!"

2.注意使用进制转换时,不换的话默认保持之前的进制

第5节标准库string类型




实例:简单的文本编辑器(按输入格式,换行输出,并计算字符数和行数)

getline(cin, str1) 函数可以获得一行的输入
const char* p = str.c_str();    可以获得str的 指针但不要去使用它!!

第6节标准库vector类型



实例:简单的文本编辑器(按输入格式,加行号换行输出,并计算总字符数和各行字符数)



 第7节再谈函数



void swap(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;
}
//一个比较大的结构体
typedef struct
{
	int a;
	int b[1000];
}BigStruct;

//引用作为函数的参数
//这个函数中形参是BigStruct类型,比较大
//形参赋给实参需要拷贝,这里用引用就可以不用拷贝了
//const 可以防止它被修改
void func1(const BigStruct& a)
{
	//xxxx
}

//引用作为函数的返回值
//这里用引用就可以不用拷贝了
//const 可以防止它被修改
const BigStruct& func2(const BigStruct& a)
{
	//xxxx
}








template <typename T>
T add(T a, T b)
{
	return a + b;
}













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值