壹 C++基本语言

本文介绍了C++的基本语言特性,包括同名实体的处理、命名空间的使用,详细讲解了如何引用命名空间内的函数和变量。此外,还探讨了std::cin和std::cout等基本输入输出操作,以及std::endl的作用。同时,文章涵盖了动态内存分配、nullptr、结构体、权限修饰符、类的组织以及函数的各种用法。此外,还讨论了内联函数、const表达式、范围for循环,并对const char*等指针类型、std::string和std::vector进行了介绍。最后,文章提到了迭代器的使用以及强制类型转换的四种方式。
摘要由CSDN通过智能技术生成
							**本文章总览**

在这里插入图片描述
一、同名实体:同名函数、变量、类定义
二、命名空间:为了防止同名冲突而引入的一种机制,系统中可以定义多个不同名的命名空间
1.定义方式

//在practice_1中
namespace one
{
   
	void print()
	{
   
		cout << "one" << endl;
	}
}

2.引用方式:
(1)引用与main()同一个cpp文件中的函数,方法是 命名空间名::实体名
(2)引用不同cpp中的函数,方法是在一个头文件中写:

//在head1.h中
namespace one
{
   
	void print();
	void say_hi();
}

namespace two
{
   
	void print();
}

(3)引用时

//在main()中
int main(void)
{
   
	using namespace one;
	using namespace two;
	one::print();    //由于one 和two中有同名print()函数,因此要用one::或two::标明
	two::print();
	say_hi();

	return 0;//main()中返回值一般表示状态,返回0表示成功,非0一般表示有些错误。这种返回值一般在windows下么啥用,在linux中有用处
}

三、基本输入输出std::cin、std::cout、std::endl
1.std是标准库命名空间

2.::称之为作用域运算符

  1. std::end的作用
    (1)输出换行符"\n"
    (2)强制刷新输出缓冲区,缓冲区里的所有数据都被系统清除了
    ***输出缓冲区:一段内存。cout输出的时候实际是往缓冲区输出内容
    那么输出缓冲区什么时候把内容输出到屏幕呢?
    ①缓冲区满了
    ②程序执行到main()的return语句
    ③调用std::endl
    ④当系统不太忙时,系统会查看缓冲区内容,发现新 内容会往屏幕上输出

4.<< 返回的是一个cout对象,读以下代码可以轻松理解

cout << "我" << "好" << "想你" << endl;
//等价于
(cout << "我" )<< "好" << "想你" << endl;
//等价于
((cout << "我") << "好") << "想你" << endl;

5.std::cin的使用

int a, b;
cin >> a >> b;//返回齐左侧运算对象
//相当于
(cin >> a) >> b;

6.赋值

	int a = 1;
	int b{
    1 };
	int c= {
    1 };
	int c(1);
	auto d{
    1.1 };  //自动推断,要记得在定义时赋值

7.头文件防卫声明

#ifndef HEAD_1
#define HEAD_1

#include"head_2.h"
namespace one
{
   
	void print();
	void say_hi();
}

namespace two
{
   
	void print();
}

#endif

8.引用

	int a = 1;
	int& b = a;   //现在b是a 的别名,起标识作用。和auto一样的,定义别名时必须赋值
	b = 2; //现在a也等于2了
	//int& c = 1;   //但是别名不能绑定到常量上

***引用和指针在函数中的使用

void func(int& a, int& b)   //形参是引用类型
{
   
	a = 1;
	b = 2;
}
void func_1(int* a, int* b)   //形参是指针类型
{
   
	*a = 3;
	*b = 4;
}
int main(void)
{
   
	int m, n;
	func(m, n);
	func_1(&m, &n);
	

***引用绑定到const常量上的方法

	const int m = 1;
	int& m_1 = (int&)m;
	
	m_1 = 100;
	cout << m;//1
	cout << m_1;//100

9.constexpr

constexpr int  func()
{
   
	return 1;
}

int main(void)
{
   
	constexpr int a = func();
	
	cout << a << endl; //1
}

10.范围for

	int a[]{
    1,2,3,4 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值