第二章: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++重载函数的使用:
函数名称一样,根据参数的不同个数和参数的类型加以区分(函数返回类型的不同不可以区分重载函数)
【基础层】##编程##笔记##C++## chapter_2: C过渡到C++
猜你喜欢
转载自blog.csdn.net/husterjwx/article/details/88531528
今日推荐
周排行