初识C++

在初学C语言时,第一句代码是"hello word!",那么在C++中也是如此

这与C语言中的还真是大不相同啊。

下面就是来分析这里面的代码了

第一:头文件的包含

#include <iostream>

在C++中包含头文件是没有 .h 的后缀的,这是为了与C语言做分别。(当然,也可以包含 .h 后缀的头文件,这是为了兼容C语言)

第二:namespace

namespace是命名空间,是C语言内没有的关键字。

命名空间的出现是为了避免命名冲突或者名字污染的问题

namespace的定义

  • namespace,后面跟要命名的名字,然后接上{}即可,{}内即为命名空间的成员,需要注意 } 后面不需要接 ;(分号)

这样就算是创建好了

namespace 的本质是定义出一个域,这个域是与全局和局域相独立的,不同的域是可以定义同名变量的,比如这样

可以看到,左边的代码运行时不会报错的,也能正常的打印出来,而右边的代码则报错了。

namespace 的使用

现在再来看一下 namespace 定义的域内的东西要怎么使用,上面的代码在运行时,打印的是全局变量的数据,那么要怎么才能打印 namespace 域内的数据呢

很简单,只需要使用 **::**就可以了

**::**叫做域作用限定符

使用:在左边没有给名称时,默认为全局,有名称时会优先去名称域内查找右边给定名称的数据

这样就能查找并使用了

还有其他2种使用方法:

1.using将命名空间中某个成员展开,项目中经常访问的不存在冲突的成员推荐这种方式

2.展开命名空间中全部成员,项目不推荐,冲突风险很大,日常小练习程序为了方便推荐使用

命名空间的嵌套

命名空间是还可以嵌套的

在使用时就是再多使用一次 :: 就可以了

其他注意:

1.namespace只能定义在全局

2.项目工程中多文件中定义的同名namespace会认为是⼀个namespace,不会冲突

3.C++标准库都放在一个叫 std(standard) 的命名空间中

C++的输入与输出

1.<iostream>是Input Output Stream的缩写,是标准的输入、输出流库,定义了标准的输入、输出对象

2.std::cin是istream类的对象,它主要面向窄字符(narrowcharacters(oftypechar))的标准输如流

3.std::cout 是ostream类的对象,它主要⾯向窄字符的标准输出流。

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

5.<<是流插入运算符,>>是流提取运算符。(C语言还用这两个运算符做位运算左移/右移,当然,在C++中也一样还能用)

std::cout 和 std::endl 就是下面的 cout 和 endl,因为已经展开了 std 库,所以没用区域限定符

看一下 cin

体验下来就是,与 printf 和 scanf 很相似

但是使用C++输入输出更方便,不需要像printf 和 scanf输入输出时那样,需要手动指定格式

另外还能发现,文件内没有包含<stdio.h>,但能使用printf和scanf,是因为<iostream>中包含间接包含了<stdio.h>,但这只是vs系列的编译器是这样的。

相关推荐
qq_2518364572 小时前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程
郑州光合科技余经理3 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
知识分享小能手3 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
qq_199886873 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
阿里嘎多学长4 小时前
2026-09-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
2401_839080544 小时前
C++常见八股
数据结构·c++·算法
qq_199886874 小时前
第6板块 第2节 CUDA运行时API与驱动API 核心笔记
c++·人工智能·gpu算力
syagain_zsx5 小时前
算法基础篇 · 03 枚举(C++ 题解)
c++·算法·二进制·枚举
weixin_307779136 小时前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab