C++学习笔记(一)C++的基础知识

2019.11.17记,从今天起进行C++和数据结构的学习,为期两周
博主看的是中国大学mooc上北大的C++入门课,蛮推荐的,同样还有翁恺的C++。
废话不多说,咱们开始
一、有C到C++
C与C++最大的区别就是面向过程和面向对象,关于面向对象的具体信息后面会降到
二、与C不同的基础知识
(一)、引用:

int i;
int & n = i;  
i = 1;
std::cout << n;  // 会输出1

注意以下几点:
1、引用后n变量的类型就是int&
2、引用后两个变量的地址是相同的(博主亲测过)
3、应用变量要在定义时初始化
4、引用可以当做函数的返回值int & function(void);
(二)、const关键字
这个和c一样,有几个点要注意下:
1、常引用:const int & ***不能使用常引用去修改变量。
2、常指针:const int * *****不能通过常指针去修改所指的变量
(三)、动态内存分配
分配一个变量内存

int * p;
p = new int;
delete p;

分配一个数组内存

int * p;
p = new int[50];
delete [] p;

动态内存分配,在c中有malloc,free运算符。
C++中就是new分配内存。
只能给指针分配内存,new完返回的是这个内存的地址。
注:分配完内存后,一定要用delete清空内存。
(四)、内联函数
因为C++很强调效率,因为当有些函数要多次调用时,会很耗时间。
在定义函数时,将函数定义为内联函数可大大降低消耗时间。

inline int function(void)
{
	std::cout << "Hello world";
}

(五)、函数重载
因为变量名字不好取,为了让取名变得简单,所以有函数重载,函数根据变量的类型和个数选择函数执行

int function(int a,int b)
{
	cout<<"function 1";
}
int function(double a,double b);
{
	cout<<"function 2";
}
int function(int a,int b,int c)
{
	cout<<"function 3";
}
function(1,2);
function(1.1,1.2);
function(1,2,3);

输出结果

function1
function2
function3

注:使用函数时变量一定要符合参数列表规定
(六)、缺省函数
目的:为了提高开发过程的拓展性

void function(int a,int b, int c = 1);
function(1, 2)   // 可
function(1,2,3)  // 可
function(1, ,3)  // 不可,C++缺省只能缺最右边的变量

如何提高拓展性:比如开发一个程序,这个函数的要新增一个变量,总不能改变所有引用函数,使用缺省函数,不需要这个功能的直接使用原先的默认值,需要的修改定义就好。

发布了27 篇原创文章 · 获赞 3 · 访问量 1411

猜你喜欢

转载自blog.csdn.net/qq_42860166/article/details/103110905