C++---入门

C++补充了上的不足,使用各方面更加便捷,在C的基础上面向对象进行编译,学过C之后,对学习C++的一定的帮助。

命名空间:

**namesp的定义:**定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量。

如上图rand会进行报错,因为rand可定义为函数,如果加上namespace则会少去该报错

C++输⼊和输出:

<iostream> 是 Input Output Stream 的缩写,是标准的输⼊、输出流库,定义了标准的输⼊、输

出对象。

std::cin 是 istream 类的对象,标准输⼊流。

std::cout 是 ostream 类的对象,标准的输出流

std::endl 是⼀个函数,流插⼊输出时,相当于插⼊⼀个换⾏字符加刷新缓冲区。

缺省函数:

缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值,也为默认值。也分为半缺省和全缺省函数。

C++规定半缺省参数必须从右往左 依次连续缺省,不能间隔跳跃给缺省值。

带缺省参数的函数调⽤,C++规定必须从左到右依次给实参,不能跳跃给实参。

函数重载:

C++⽀持在同⼀作⽤域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同.这样C++函数调⽤就表现出了多态⾏为,使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同名函数的。

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
// 1、参数类型不同
int Add(int left, int right)
{
	cout << "int Add(int left, int right)" << endl;
	return left + right;
}
double Add(double left, double right)
{
	cout << "double Add(double left, double right)" << endl;
	return left + right;
}
// 2、参数个数不同
void f()
{
	cout << "f()" << endl;
}
void f(int a)
{
	cout << "f(int a)" << endl;
}
// 3、参数类型顺序不同
void f(int a, char b)
{
	cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{
	cout << "f(char b, int a)" << endl;
}
int main()
{
	int a = 0;
	double b = 0.1;
	char c = 'x';
	std::cout << a << " " << b << " " << c << std::endl;

	/*f1();
	f1(10);*/
	Add(10, 20);
	Add(10.1, 20.2);
	f();
	f(10);
	f(10, 'a');
	f('a', 10);

	return 0;
}

引用:

引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间,它和它引⽤的变量共⽤同⼀块内存空间。

类型& 引⽤别名 = 引⽤对象。

cpp 复制代码
#include<iostream>
using namespace std;
int main(){
int a = 0;
// 引⽤:b和c是a的别名
int& b = a;
int& c = a;
// 也可以给别名b取别名,d相当于还是a的别名
int& d = b;
++d;
// 这⾥取地址我们看到是⼀样的
cout << &a << endl;
cout << &b << endl;
cout << &c << endl;
cout << &d << endl;
return0;
}
相关推荐
中二痞2 分钟前
下载Python 版本,环境变量变更以及PyCharm更换python版本
开发语言·python·pycharm
故事和你914 分钟前
洛谷-算法2-3-分治与倍增5
开发语言·数据结构·c++·算法·动态规划·图论
SilentSamsara5 分钟前
标准库精讲:collections/itertools/functools/pathlib 实战
开发语言·vscode·python·青少年编程·pycharm
逻辑驱动的ken9 分钟前
Java高频面试考点场景题17
开发语言·jvm·面试·求职招聘·春招
charlie11451419111 分钟前
通用GUI编程技术——图形渲染实战(三十九)——纹理与采样器:从WIC加载到GPU渲染
开发语言·c++·图形渲染·win32
love530love16 分钟前
Python 3.12 解决 MediaPipe “no attribute ‘solutions‘” 终极方案:基于全版本硬核实测的避坑指南
开发语言·人工智能·windows·python·comfyui·mediapipe·solutions
爱码小白17 分钟前
Python 类五大方法 完整版学习笔记
开发语言·python
Fuly102421 分钟前
java面试知识点复习
java·开发语言·面试
北顾笙98021 分钟前
day37-数据结构力扣
数据结构·算法·leetcode
啦啦啦_999926 分钟前
1. 逻辑回归
算法·机器学习·逻辑回归