• C++入门-day01


     一、认识C++

    C++融合了三种不同的编程方式

    • C代表的过程性语言
    • 在C基础上添加的类、结构体puls代表的面向对象语言
    • C++模板支持泛型编程

    C++完全兼容C的特性

    Tips:侯捷老师提倡的Modren C++是指C++11、C++14、C++17和C++20这些新标准所引入的一系列新特性和改进。在我们练习的时候也应当去使用C++11的语法。

    1. #include 头文件

    在C++11中头文件是这个样子

    #include

    替代了在C中我们经常使用的

    #include <stdio.h

     如果需要使用标准C中的库,可以这样:

    #include <cstdio>

     2. 主函数 

    跟C一样

    int main(){

        return 0;

    }  

    二、命名空间 

     命名空间主要是解决在大型项目中,函数,变量名冲突的问题

    如下图所示,如果没有命名空间,命名相同的变量和函数,是会冲突的,而命名空间就好像一个隔离容器,如果要使用A中的sort函数只需,A::sort();即可。

    这里的 :: 是叫域作用操作符

      看个代码:

    1. #include
    2. namespace yy{
    3. int a=0;
    4. int big(int a,int b){
    5. return a>b?a:b;
    6. }
    7. }
    8. int main(){
    9. std::cout<
    10. std::cout<big(30,17)<
    11. return 0;
    12. }

     按照上面的理解,你一定已经知道yy::ayy::big(30,17)的意思了,

    但是对于std::cout<<   <,一定会不知所云。

    回忆C语言中,一个程序只要运行就会创建的三个流

    • stdin - 标准输入流(键盘)
    • stdout - 标准输出流(屏幕)
    • stderr - 标准错误流(屏幕)

    而这里std::cout,你或许已经猜到了,std是个命名空间,cout应该是定义在std里面的一个东西。

    事实上,std是C++的标准命名空间,C++标准程序库中的所有标识符都被定义在std中

    而cout就是C++的标准输出流

    你可以把<<理解为流动方向,把yy::a的值流向标准输出流,也就是在屏幕中打印出来,而<

    简而言之, std::cout<

    此时,你会觉得,打印一个东西这么麻烦,还要打这么多字符,

    其实,可以简化成这样。

    cout<

    只需在你主函数之前声明你要使用这个命名空间,有两种实现方式,推荐第一种。

      1. using std::cout
      2. using std::endl
    • using namespace std

    注:

    • 命名空间只能全局范围内定义
    • 命名空间可以嵌套定义
  • 相关阅读:
    高并发下合并请求,为了减少数据库连接数
    Soft Actor-Critic(SAC算法)
    springboot集成UidGenerator
    Leetcode.198 打家劫舍
    线性表的应用 —— 双向链表 && 循环链表
    IDEA插件开发(20)--Editor Components
    [Zer0pts2020]Can you guess it?
    axure9中多个选中显示编号数字
    小样本学习(Few-shot Learning)
    virtualbox报错
  • 原文地址:https://blog.csdn.net/weixin_56821642/article/details/133563074