当前位置: 首页 > news >正文

C++入门级文章

一、一个用于查询C++标准库内函数、操作符等的链接

https://legacy.cplusplus.com/reference/
声明:该文档并非官方文档,但其具有易于查询和使用的优势,足够日常使用。

二、C++的第一个程序

1、C语言中的语法在C++中仍旧适用,首先我们来看一下C语言和C++的一点区别

#include<stdio.h>
//C语言中的打印
int main()
{printf("Hello word");return 0;
}
#include<iostream>
using namespace std;
//C++中的打印
int main1()
{cout << "Hello word" << endl;return 0;
}

上述代码都可以打印出 “Hello word” 这个字符串,但是其书写过程却不太一样,这是因为C++有着自己的一套输出流程。

三、namespace的定义

1、定义命名空间: 

其使用方法就是namespace后面加上命名空间域的名字跟一个大括号即可,其内容可以是变量/函数/结构体等。

namespace lx
{int rand = 10;int Add(){}struct str{};
}

2、其本质是开辟一个独立的空间域,独立于全局域和局部域之外,在定义的命名空间域内创建与全局变量相同名字的变量不会产生冲突。

int a = 20;namespace lx
{int a = 10;int Add(){}struct str{};
}

3、namespace只能定义在全局,同时它是可以嵌套定义的

namespace lx
{int a = 10;namespace bit{int a = 10;}
}

4、在多文件下定义的同名namespace会被认为是同一个空间域

四、命名空间的使用

当我们编译或者运行的时候编译器不会去到命名空间中去查找,而是在全局域和局部域中查找,所以我们需要额外使用一个操作符来解决这个问题。

“::”:这两个冒号组成的操作符叫作用域解析运算符,其使用方法为

1、命名空间的名字+域解析运算符+空间内部变量/函数等的名字:指定访问的命名空间

2、using+命名空间的名字+域解析运算符+空间内部变量/函数等的名字:展开指定成员

3、using+namespace+命名空间名:展开命名空间中的全部成员

五、C++的输入和输出

<iostream>是标准的输入输出流库,定义了标准的输入输入对象。

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

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

std::endl是一个函数,流插入输出时,相当于增加一个换行符来加速缓冲区的刷新

<<是流插入运算符,在输出时使用

>>是流提取运算符,在输入时使用

cout/cin/endl等都属于C++标准库,C++标准库都放在一个叫std(standard)的命名空间中,所以要通过命名空间的方式去使用他们

int main()
{cout << "Hello word" << endl;int a = 0;cin >> a;cout << a << '\n';return 0;
}
//这里的endl和\n具有同样的效果,但是\n并不能取代endl

六、缺省参数

缺省参数是声明或定义函数时给一个缺省值。在调用函数时,如果没有给定的实参则使用形参缺省值,否则使用指定的实参,缺省参数分为全缺省和半缺省。

全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值,在C++中规定形参缺省值的给定必须是从右往左给,不能间隔或者跳跃给。

带缺省的函数调用时必须使用从左到右的方式给实参,不能间隔跳跃

函数的声明和定义分离时,声明和定义不能同时给定缺省值,只有在函数声明时才能给定缺省值

从上图中我们就可以看出,当定义和声明同时给定缺省值时就会产生错误。

完结撒花-------------

http://www.lryc.cn/news/413930.html

相关文章:

  • modelsim仿真quartus IP
  • PCB设计经验——布线原则
  • C++进阶:设计模式___适配器模式
  • “八股文“在现代编程面试中的角色重塑:助力、阻力还是桥梁?
  • Android 安装应用-浏览阶段
  • JavaEE 初阶(10)——多线程8之“单例模式”
  • Javascript常见设计模式
  • JavaFX布局-SplitPane
  • 2.MySQL库的操作
  • 如何学习计算机
  • Spring MVC 快速入门指南及实战演示
  • 在线测评系统(未完结)
  • Python 爬虫项目实战(一):破解网易云 VIP 免费下载付费歌曲
  • PTA 6-7 统计某类完全平方数
  • PyFilesystem2 - Python 操作文件系统
  • Bug小记:关于servlet后端渲染界面时出现的问题小记1P
  • 智慧水务项目(二)django(drf)+angular 18 创建通用model,并对orm常用字段进行说明
  • <数据集>人员摔倒识别数据集<目标检测>
  • npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘
  • 爬虫问题---ChromeDriver的安装和使用
  • Spring的配置类分为Full和Lite两种模式
  • 探索Perl的代码生成艺术:利用编译器后端释放潜能
  • 21 B端产品经理之技术常识(1)
  • 数据结构基础详解(C语言):单链表_定义_初始化_插入_删除_查找_建立操作_纯c语言代码注释讲解
  • 【智能时代的创新工具】LangChain快速入门指南:轻松掌握语言模型的集成与运用
  • 文献阅读:细胞分辨率全脑图谱的交互式框架
  • YAML基础语言深度解析
  • xcode使用
  • OV2640引脚的定义(OV2640 FPC模组规格书(接口线序))
  • CTFSHOW 萌新 web10 解题思路和方法(passthru执行命令)