【基础层】##编程##笔记##C++## chapter_2: C过渡到C++

第二章:C过渡到C++
单词:标识符,关键字,常量,运算符&分隔符
C++语句:说明语句;表达式语句(只有一个分号的是空语句);流程控制语句;复合语句(就是用一对{}括起来的语句);
C++函数: void func() {空} //空函数
标准名空间(std namespace):所有实体的名字就是标识符 声明在std名空间里面
C语言标准函数库18个头文件去掉.h  <math.h><cmath> 尽量使用新的C++标准

C++的注释和C语言是一样的
但是注意 
#define ARRAY_SIZE 100 后面最好不要有//注释 
C++不再使用#define 预处理语句来定义符号常量

变量:数据类型+存储类型
C++基础数据类型:多了long double型数据和bool型数据
C++复杂数据类型:多了一种引用 & 和 类class(标准库中的类和用户定义的类)(包括struct和union)
(其中对常量constants做了拓展)

//尽量使用const代替#define定义符号常量

关于C++的变量和常量
常量:
基本数据类型,数组,结构变量都可以定义为常量,作用域内都不可以改变

const int pi=3.14159
const int data[]={1,2,3,4};
int const data{}={1,2,3,4};

struct complex{
double real;
double imag;
}
const complex x={1.0,1.0}; //x的值不可以修改了

注意指针的const使用:
	1. const char * pc="jiangwenxiang"; 
	char const * pc="jiangwenxiang";
	pc="hust",但是不可以pc[3]='b';
	2. char * const pc="jiangwenxiang"; 
	pc不可以修改了,但是pc[3]='b'可以
	3. 如果 const char * const pc="jiangwenxiang";
	都不可以修改
注意函数返回值const使用:
const char * getname()
{

}
返回一个指向常量的指针
void main()
{
	const char * const cpc=getname();//指向常量的常量指针才能接受的函数,有什么用呢?
}

变量:
C++的新增内容
	1. static int  i(6);
	2. 不需要局限于开头定义变量
	3. 作用域运算符:
	::
	
	#include<iostream>
	using namespace std;
	int x;
	
	void main(int argc, char **argv)
	{
		auto int x=1;//全局变量被屏蔽
		
		::x =6;//这个是给外部变量进行赋值的
	}

关于C++指针:
和C一样都是需要先赋地址值再操作
float x,y,*px=&x,*py=&y;

关于C++引用:
int i=1;
int &j=i;

引用类型也必须初始化才可以使用,本质上也是靠常量指针实现的,i和j代表同一个变量,占用的内存空间是一样的。&i 和&j的值是一样的

可以char**pc不可以char&&pc;
不可以 int &a[10];
不可以void & sum();
可以空指针不可以空引用

关于C++的运算符:
新增三个
:: new delete

隐式类型转换
强制类型转换

new和delete

关于C++的函数:
引用在函数这里主要应用两个应用:
	1. 直接将实参作为变量名,形参做引用
	
	void swap(int &x,int&y)
	{
	}
	
	void main()
	{
	int a(5),b(10);
	swap(a,b);
	}
	
	以前的C语言都是 
	void swap(int *pa,int *pb)
	{
	}
	swap(&a,&b)
	2. 引用作为函数返回值
	
C++函数的默认值
C++的内联函数inline(不可以写for和条件语句)

C++重载函数的使用:
函数名称一样,根据参数的不同个数和参数的类型加以区分(函数返回类型的不同不可以区分重载函数)

猜你喜欢

转载自blog.csdn.net/husterjwx/article/details/88531528
今日推荐