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

公司手机版网站制作seo顾问服务 乐云践新专家

公司手机版网站制作,seo顾问服务 乐云践新专家,专业营销团队公司,福建省做鞋批发网站目录 标准控制台框架 输入输出对象 命名空间 标准控制台框架 头文件 ​#include <iostream>​​ 告诉编译器我们要使用iostream库尖括号中的名字指定了某个头文件(header) 入口函数 ​int main(void)​​ 返回 ​return 0;​​ 输出语句 ​std::cout << "H…

目录

标准控制台框架

输入输出对象

命名空间


标准控制台框架

  • 头文件

    • ​#include <iostream>​​

      • 告诉编译器我们要使用iostream库
      • 尖括号中的名字指定了某个头文件(header)
  • 入口函数

    • ​int main(void)​​
  • 返回

    • ​return 0;​​
  • 输出语句

    • ​std::cout << "Hello 0xCC" << std::endl;​​

      • ​<<​​输出运算符
      • 运算符左侧为ostream对象
      • 运算符右侧为输出内容
      • 上述代码等价于std::cout << "Hello 0xCC"; std::cout << std::endl;​​
      • ​std::endl​​效果为换行符并且刷新缓冲区
  • 输入语句

    • ​std::cin >> a;​​

      • ​>>​​输入运算符
      • 运算符左侧为istream对象
      • 运算符右侧为输入数据
  • 注释

    • ​/ 单行注释 /​​
    • ​/*多行注释*/​​

输入输出对象

  • C++语言并未定义任何输入输出(IO​​​)语句,取而代之,包含了一个全面的标准库(standard library​​​)来提供IO机制

  • iostream 库包含两个基础类型istream ​​​和ostream​​​,分别表示输入流和输出流

  • 标准输入(standard input​​​) - cin(istrean)​​​对象

  • 标准输出(standard output​​​) - cout(ostrean)​​​对象

  • 标准错误(standard error​​​) - cerr(警告信息)/clog(运行信息)(ostrean)​​​对象

  • ​cerr​​、clog​​ 和 cout​​ 都是C++中用于输出信息的流对象,它们有一些区别,主要涉及缓冲行为、目标设备和使用场景:

    1. 缓冲行为:

      • ​cerr​​ 和 clog​​ 是非缓冲流对象,输出会立即被发送到目标设备,不会被缓冲起来。这意味着它们的输出是即时的,不受缓冲区满或程序结束的影响。
      • ​cout​​ 是缓冲流对象,它的输出会被缓冲起来,直到缓冲区满或程序结束时才发送到目标设备。这可以提高输出效率,但也可能导致输出在一些情况下不立即显示。
    2. 目标设备:

      • ​cerr​​ 的默认目标设备是标准错误输出(通常是屏幕)。它主要用于输出错误和警告信息,因此不会被重定向到其他设备或文件。
      • ​clog​​ 的默认目标设备也是标准错误输出(通常是屏幕)。它主要用于输出运行时信息、调试信息或其他日志信息,也可以被重定向到其他设备或文件。
      • ​cout​​ 的默认目标设备是标准输出(通常是屏幕),但它可以通过重定向将输出定向到其他设备或文件。
    3. 使用场景:

      • ​cerr​​ 通常用于输出错误和警告信息,它的输出是非缓冲的,以便尽快显示错误信息,不受缓冲区满或程序结束的影响。
      • ​clog​​ 通常用于输出运行时信息、调试信息或其他日志信息,它的输出是缓冲的,以提高输出效率,但可能不会立即显示。
      • ​cout​​ 是最常用的输出流对象,用于一般的标准输出,它的输出是缓冲的,可以在合适的时机进行刷新。

    总结:

    • ​cerr​​ 用于输出错误和警告信息,非缓冲。
    • ​clog​​ 用于输出运行时信息、调试信息或其他日志信息,缓冲。
    • ​cout​​ 用于一般的标准输出,缓冲。

    在实际使用中,根据需要选择适当的输出流对象,以满足不同类型的输出要求。

    #include <iostream>int main()
    {std::cout;	//std::ostream;std::cerr;	//std::ostream;std::clog;	//std::ostream;std::cin;	//std::istream;std::cout << "cout" << std::endl;std::cerr << "cerr" << std::endl;std::clog << "clog" << std::endl;return 0;
    }
    

命名空间

  1. 基本概念

    命名空间是 C++ 中用于组织和管理名称的一种机制。它可以将全局作用域分割成不同的区域,每个区域可以包含变量、函数、类和其他命名实体。命名空间提供了一种避免名称冲突的方式,使得我们可以在程序中使用相同名称的实体而不会发生冲突。​注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中​​

  1. 命名空间的定义方法

    使用 namespace​​ 关键字定义命名空间,语法如下:

    #include <iostream>namespace CC_STD
    {int HP;//内部声明void Fun(int add);
    }//外部定义
    void CC_STD::Fun(int add)
    {CC_STD::HP += add;
    }int main()
    {CC_STD::HP = 1;CC_STD::Fun(100);return 0;
    }
    
  1. 命名空间的使用

    使用 using​​ 声明或限定符访问命名空间中的成员。

    #include <iostream>using namespace std;int main()
    {cout << "0xCC" << endl;return 0;
    }
    

    使用 using​​​ 声明可以将命名空间中的一个或多个成员引入当前作用域,使其可直接使用,语法如下:

    #include <iostream>void cout()
    {}int main()
    {using std::cout;using std::endl;cout << "0xCC" << endl;std::string;return 0;
    }
    
  1. 嵌套命名空间

    可以在一个命名空间中定义另一个命名空间,这称为嵌套命名空间。嵌套命名空间可以进一步组织和管理命名空间中的实体。

    namespace outer_namespace 
    {namespace inner_namespace {// 嵌套命名空间中的声明和定义}
    }
    
    #include <iostream>namespace CC_TOOLS
    {int nVer;namespace CC_IO{int nOutput;void Print();}
    }void CC_TOOLS::CC_IO::Print()
    {std::cout << nOutput << std::endl;
    }int main()
    {CC_TOOLS::CC_IO::nOutput = 123;CC_TOOLS::CC_IO::Print();return 0;
    }
    
  1. 匿名命名空间

    匿名命名空间是一个特殊的命名空间,其中的实体在当前文件中具有静态生命周期,并且对其他文件不可见。它可以用于定义在当前文件中具有本地作用域的实体。

      1. 作用范围限定:匿名命名空间中定义的变量、函数或类的作用范围仅限于当前文件。其他文件无法直接访问匿名命名空间中的成员。
      2. 避免命名冲突:匿名命名空间可以用于避免与其他文件中的定义发生命名冲突。相同名称的成员在不同的匿名命名空间中是独立的,不会相互冲突。
      3. 匿名命名空间中的成员具有内部链接(internal linkage)的属性,也就是说它们只在当前文件内可见,不会在其他文件中引用到。
    namespace 
    {// 匿名命名空间中的声明和定义
    }
    
    #include <iostream>//匿名命名空间
    namespace 
    {int a = 0;void Print(){std::cout << a << std::endl;}
    }int main()
    {a = 1;Print();return 0;
    }
    
  1. 命名空间的别名

    可以使用 namespace​​ 关键字为命名空间定义别名,方便使用和引用。

    namespace alias_name = namespace_name;
    
    #include <iostream>namespace CC_STD
    {int a;
    }int main()
    {//typedef//using//namespace newname = oldname;namespace CC = CC_STD;CC::a = 1;CC_STD::a = 2;return 0;
    }
    
  1. 命名空间的合并

    1. 合并在同一个作用域下:命名空间合并只在同一个作用域下生效。
    2. 合并相同名称的命名空间:只有具有相同名称的命名空间才能进行合并。
    3. 合并后成员的可见性:合并后,具有相同名称的命名空间中的成员在合并的作用域内可见。
    //main.cpp
    #include <iostream>
    #include "Header.hpp"namespace CC_TOOLS
    {int nVer;int nKey;namespace CC_IO{int nInput;int nOutput;}
    }int main()
    {return 0;
    }//Header.hpp
    #pragma once
    namespace CC_TOOLS
    {int nNum;
    }
    
http://www.laogonggong.com/news/47322.html

相关文章:

  • 婚庆行业网站建设方案1快速排名新
  • 连云港网站建设案例宁波网站建设网站排名优化
  • 温州 网站建设蒙牛牛奶推广软文
  • 凤岗镇仿做网站站长网站
  • 玉林住房和城乡规划建设委员会网站怎么有自己的网站
  • django做的网站模板高端网站建设企业
  • 劳务建筑公司网站腾讯企业qq官网
  • 网站怎么做详情页百度预测大数据官网
  • 容桂销售型网站建设seo网络推广哪家专业
  • wps2016怎么做网站信息流推广渠道
  • 广州网站建设方案企业站seo报价
  • 网站建设做的好的公司灰色词seo排名
  • 天津河西做网站哪家好企业seo案例
  • 如何加入网站电商网站对比
  • 惠州有没有做网站社群营销是什么意思
  • 建设银行宁波分行 招聘网站推广的软件
  • 肥乡邯郸做网站厦门百度代理公司
  • 可信网站代码seo jsbapp9
  • 如何用dw做网站前端企业营销推广怎么做
  • 有没有做语文题的网站app关键词推广
  • 网上做公务员考题的网站网站建设与管理属于什么专业
  • 毕业设计资料网站有哪些重庆网站seo建设哪家好
  • wap网站开发长沙seo网络营销推广
  • 济宁亿峰科技做网站一年多少费用网络营销推广是做什么的
  • 企业如何进行网站建设35个成功的市场营销策划案例
  • 一台vps可以做几个网站宁德市政府
  • 站长之家域名网站制作app免费软件
  • 佛山b2b网站建设绍兴seo外包
  • 中国廉洁建设网是什么正规网站吗网店如何推广自己的产品
  • 艺友网站建设抖音推广