栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++快速入门第二篇(新数据类型)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++快速入门第二篇(新数据类型)

注意:阅读本专栏博客之前一定要有C语言基础. 如何学习:看懂此博客里的代码段即可 有条件的同学我建议复制下来编译一下(vs2013-vs2022)

每一篇博客我都会修改很多次,同学们可以放心浏览.

C++新数据类型:'引用':


#include 
using namespace std;

int main() {

	//No.1新空指针
	int* p = NULL;			//(void *)0;
	int* cpp = nullptr;		//空指针

	//No.2 新的数据之bool
	//2.1 bool代表的是真和假
	//2.2 bool打印的只有两个0或者1
	//2.3 在计算机中非零值或者非空值都表示成立(真)
	//2.4 bool占用内存,1个字节
	//2.5 通常情况bool是用来充当条件判断函数的返回值,或者充当开关标记使用
	bool bNum = -1;
	cout << bNum << endl;
	cout << sizeof(bool) << endl;
	
	//No.3 引用类型
	//3.1 基本用法: 起别名
	
	int mm = 1;
	int &小可爱 = mm;			
	小可爱 = 10001;
	cout << mm << endl;		

	while (1);
	return 0;
}
C++引用数据类型的简单用法:
#include 
using namespace std;

void Updata_First(int updataNumber) {
	updataNumber = 2;
}

void Updata_Second(int& updataNumber) {
	updataNumber = 200;
}

int main() {

	int number_First = 1;
	Updata_First(number_First);
	cout << number_First << endl;		

	int number_Second = 100;
	Updata_Second(number_Second);
	cout << number_Second << endl;		

	

	while (1);
	return 0;
}
C++常量引用问题:

#include 
using namespace std;

void print_First(int& iNum) {
	cout << "iNum: " << iNum << endl;

void print_Second(const int& iNum) {
	cout << "iNum: " << iNum << endl;
}

int main() {
	
	int mm = 1;
	//print_First(1);		
	

	print_Second(1);		

	while (1);
	return 0;
}
C++右值引用:
#include 
using namespace std;


void printValue(int&& iNum) {
	iNum++;
	cout << "iNum:" << iNum << endl;
}

int main() {

	int mm = 12;
	
	printValue(1234);		
	
	
	printValue(move(mm));	

	while (1);
	return 0;
}
C++返回局部变量引用问题:
#include 
using namespace std;

int& returnValue(int& iNum) {
	
	return iNum;
}

int main() {

	int mm = 1;
	returnValue(mm) = 122;		
	cout << mm << endl;


	while (1);
	return 0;
}
C++ auto数据类型(重点):

C++11标准以后引用的新数据类型;(自动推断类型)

#include 
using namespace std;

int Max(int a, int b) {

	return a > b ? a : b;
}

struct MM {
	int age;
};

//auto sum(auto a, auto b) {
//		//这么写不对,也就是说定义的时候不能推断
//		一定要先赋值,才能推断
//}

int main() {

	
	int(*pMax)(int, int) = Max;
	auto pFunc = Max;					
	cout << pFunc(1, 2) << endl;		

	struct MM object = { 1 }; 
	auto pObject = &object;				/*可以直接推断出当前类型是struct MM*类型/


	while (1);
	return 0;
}

下一篇写C++函数思想(函数重载,函数缺省参数)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号