C++第01课 C++与C的区别(三)
1.空的新表示法 指针上: NULL-->nullptr
2.bool类型
2.1 含义:表示真和假,打印的值只有(0,1)
2.2 占用1个字节
2.3 一般用在 函数返回值或者充当标记开关等使用
3.引用类型: 起别名
3.1 充当函数参数 防止拷贝本的产生
3.2 充当函数返回值类型,增加左值使用
4.自动推断类型 auto
#include <iostream> #include <stdlib.h> using namespace std; bool emptySize(int m_size) { return m_size == 0; } void modifyC(int temp) //int temp=num; { temp = 1001; } void modify(int& temp) //int& temp=num; { temp = 1001; } int g_num = 9999; void modifyPoint(int* &temp) //int* &temp= pNum { temp = &g_num; } int returnNum() { return g_num; } //等效返回一个变量 //不能返回局部变量的引用 int& returnNum2() { return g_num; } void print(const int& data) { //错误 const 限定了,就不能修改形参 //data = 1001; cout << data << endl; } //必须传入常量 void print2(int&& data) { //和上面的区别区别,在于函数中可以修改形参 data *= 10; cout << data << endl; } //右值引用: 你给我一个常量,但是我可以把他当做变量用 void doingSomething(int&& num) { num *= 10; num -= 10; cout << "10块钱麻辣" << endl; } int Max(int a, int b) { return a > b ? a : b; } struct MM { int age; int num; }; int main() { //1.指针 nullptr int* p = nullptr; //2.bool类型 bool bNum = 'A'; //非零值表示成立 cout << bNum << endl; //1 cout << sizeof(bNum) << endl; cout << emptySize(1) << endl; //了解即可 cout << boolalpha << bNum << endl; cout << emptySize(1) << endl; //3.引用类型 //3.1 左值引用 int 张三 = 0; int& 小宝贝 = 张三; //起别名 给张三起了一个别名叫做小宝贝 小宝贝 = 1001; cout << 张三 << endl; int num = 1; modifyC(num); cout << num << endl; modify(num); //1001 cout << num << endl; int* pNum = # cout << *pNum << endl; //1001 modifyPoint(pNum); cout << *pNum << endl; //9999 //当做函数返回值 //returnNum() = 100; returnNum2() = 1001; cout << g_num << endl; //3.2 右值引用 //右值引用: 你给我一个常量,但是我可以把他当做变量用 cout << "右值引用" << endl; //把右值变成一个左值 int&& m_num = 134; cout << m_num << endl; m_num = 1004; cout << m_num << endl; print(g_num); print(1); print2(2); //struct 和string下节课 //C++数据的初始化方式 ()赋值单个数据 int iNum(1); int iNum2{ 2 }; cout << iNum << endl; cout << iNum2 << endl; char cNum{ 'A' }; cout << cNum << endl; char name[20]{ "ILoveyou" }; //字符只能用大括号 cout << name << endl; //auto 自动推断类型 auto ii = 1; //自动推断ii是int int (*pF)(int, int) = Max; auto pMax = Max; cout << pMax(1, 2) << endl; cout << pF(2, 3) << endl; auto pstr = "ILoveyou"; //const char* cout << pstr << endl; auto pMM = (struct MM*)malloc(sizeof(struct MM)); if (pMM == NULL) return 0; pMM->age = 10; pMM->num = 20; cout << pMM->age << endl; cout << pMM->num << endl; return 0; }
浙公网安备 33010602011771号