1.C++入门(上)

简介: 1.C++入门(上)



1.C++关键字

C++有63个关键字,C语言有32个关键字,存在重叠如荧光笔标出

2.命名空间

作用域方面的优化

如果变量,函数和类的名称都存在于全局作用域中,可能会导致很多冲突

这时候就可以用到命名空间啦,目的是:对标识符的名称本地化,以避免命名冲突或名字污染

a.命名空间定义

使用到namespace + 命名空间的名字 + { }

1.正常的命名空间定义

2.命名空间可以嵌套

3.同一个工程中允许存在多个相同的命名空间,编译器最后会合成到一个空间中

ps: 一个工程中的.h和上面的.cpp中两个N1会被合并成一个

注意:一个命名空间就定义了一个新的作用域

b.命名空间使用

默认查找规则:

局部 -- 全局 -- using命名域(展开后为一种声明)

有三种方式

1.加命名空间名称及作用域限定符

2.使用using将命名空间中某个成员引入

3.使用using namespace 命名空间名称 引入

3.C++ 输入&输出

由以上代码可以提取出c++的一个模板:

#include<iostream>
using namespace std;
cin>>a>>b>>endl;
cout<<a<<b<<endl;

1. 使用cout标准输出对象(控制台)cin标准输入对象(键盘)时,必须包含< iostream >头文件

以及按命名空间使用方法使用std。

2. cout和cin是全局的流对象,cout作用类似于printf,cin作用类似于类似于scanf。endl是特殊的C++符号,现在可以将它看作‘\n’,他们都包含在包含<iostream >头文件中。

3. <<表示插入out,像打开袋子释放一样;>>表示in,像收紧袋子读入一样。

4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。 C++的输入输出可以自动识别变量类型

头文件注意:  早期标准库将所有功能在全局域中实现,声明在.h后缀的头文件中,使用时只需包含对应 头文件即可,后来将其实现在std命名空间下,为了和C头文件区分,也为了正确使用命名空间,规定C++头文件不带.h;旧编译器(vc 6.0)中还支持<iostream.h>格式,后续编译器已不支持,因此推荐使用<iostream>+std的方式。

#include <iostream>
using namespace std;
int main()
{
   int a;
   double b;
   char c;
     
   // 可以自动识别变量的类型
   cin>>a;
   cin>>b>>c;//输入b,c
     
   cout<<a<<endl;
   cout<<b<<" "<<c<<endl;
   return 0;
}
// ps:关于cout和cin还有很多更复杂的用法,
比如控制浮点数输出精度,控制整形输出进制格式等等。
因为C++兼容C语言的用法,可以用c语言实现这些要求,
这些又用得不是很多,我们这里就不展开学习了。
后续如果有需要,我们再配合文档学习。
  • std命名空间的使用惯例:

1. 在日常练习中,建议直接 using namespace std 即可,这样就很方便。

2.using namespace std 展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型 / 对象 / 函数,就存在冲突问题。该问题在项目开发中代码较多、规模大,就很容易出现。所以建议在项目开发中使用方案1,2

3.在一些oj题中,面对c++许多的头文件,可以使用万能头文件 #include<bits/stdc++.h>

//专栏持续更新中,敬请期待~


相关文章
|
6天前
|
安全 编译器 程序员
【C++初阶】C++简单入门
【C++初阶】C++简单入门
|
1月前
|
程序员 C++
C++模板元编程入门
【7月更文挑战第9天】C++模板元编程是一项强大而复杂的技术,它允许程序员在编译时进行复杂的计算和操作,从而提高了程序的性能和灵活性。然而,模板元编程的复杂性和抽象性也使其难以掌握和应用。通过本文的介绍,希望能够帮助你初步了解C++模板元编程的基本概念和技术要点,为进一步深入学习和应用打下坚实的基础。在实际开发中,合理运用模板元编程技术,可以极大地提升程序的性能和可维护性。
|
11天前
|
安全 编译器 C++
C++入门 | 函数重载、引用、内联函数
C++入门 | 函数重载、引用、内联函数
18 5
|
11天前
|
存储 安全 编译器
C++入门 | auto关键字、范围for、指针空值nullptr
C++入门 | auto关键字、范围for、指针空值nullptr
32 4
|
11天前
|
编译器 C语言 C++
C++入门 | 命名空间、输入输出、缺省参数
C++入门 | 命名空间、输入输出、缺省参数
25 4
|
12天前
|
编译器 程序员 C语言
C++入门
C++入门
23 5
|
5天前
|
安全 编译器 C语言
|
5天前
|
存储 编译器 程序员
C++从遗忘到入门
本文主要面向的是曾经学过、了解过C++的同学,旨在帮助这些同学唤醒C++的记忆,提升下自身的技术储备。如果之前完全没接触过C++,也可以整体了解下这门语言。
|
1月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
1月前
|
人工智能 分布式计算 Java
【C++入门 一 】学习C++背景、开启C++奇妙之旅
【C++入门 一 】学习C++背景、开启C++奇妙之旅