当前位置 : 主页 > 编程语言 > c++ >

数据结构与算法第一节课总结

来源:互联网 收集:自由互联 发布时间:2021-06-23
一、实参与形参的结合方式 1.传值传递 这一种方式是单向的,也就是说最终形参的变化并不会影响实参的变化值。 2.传址传递() 这一种方式是双向的,相当于形参是实参的另一个别

一、实参与形参的结合方式

1.传值传递

这一种方式是单向的,也就是说最终形参的变化并不会影响实参的变化值。

2.传址传递(&)

这一种方式是双向的,相当于形参是实参的另一个别称,这样形参的变化就会影响实参的值。(即实参与形参均指向相同的地址)

二、&在c/c++中的作用

1.取地址:

1 int *p=&a;

这行代码的意思是说声明一个指针p指向a的地址。

2.引用:

如传址传递。

3.按位与:

按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只要对应的二个二进位都为1时,结果位就为1。

4.&&表示且的关系

三、const &a与传值传递的区别:

1 template<class T>
2 T abc(const &a,const &b,const &c)
3 {
4 return a+b*c
5 
6 }

 

在上面一个例子里,前者比后者的更加节省内存,后者的需要进行声明内存和删除内存的处理,所以前者更优。

四、*在c/c++中的作用:

1.乘法

2.声明指针

3.取指针所对应地址的值:

如:

1 int *a = 12 int b = *a;

 五、条件编译:

1 /*写在文件开头*/
2 #ifndef XXX
3 #define XXX
4 
5 
6 
7 /*写在文件结尾*/
8 #endif

条件编译的作用主要是为了防止重复声明。

六、为一个二维数组分配内存空间

 1 template<class T>
 2 bool make2dArrray(T ** &x,int numberOfRows,int numberOfCloumns)
 3 {//创建一个二维数组
 4   
 5    try{
 6 
 7        //创建行指针
 8        x = new T* [numberOfRows];
 9       
10       //为每一行分配空间
11       forint i=0;i<numberOfRows,i++)
12           x[i] = new int [numberOfColumns];
13    return true;
14        
15      }
16    catch(bad_alloc){return false;}
17 
18 
19 }

前人总结,牢记。

网友评论