首页 > 编程语言 >#yyds干货盘点#C++命名空间

#yyds干货盘点#C++命名空间

时间:2023-06-18 23:01:33浏览次数:46  
标签:std yyds cout C++ 空间 干货 命名 using

命名空间命名空间是C++语言的新特性,它能够解决命名冲突问题。

例如,小明定义了一个函数swap(),C++标准程序库中也存在一个swap()函数。此时,为了区分调用的是哪个swap()函数,可以通过命名空间进行标识。C++中的命名空间包括两种,具体介绍如下。

using namespace std;

1.标准命名空间std是C++标准命名空间,由于C++标准库几乎都定义在std命名空间中,因此编写的所有C++程序都需要引入下列语句。

namespace lib 
{ 
     void func(){} 
}

2.自定义命名空间使用nam espace可以自定义命名空间,示例代码如下所示:[插图]上述代码中,使用nam espace定义了一个名称为lib的命名空间,该命名空间内部定义了一个func()函数。如果要使用命名空间中定义的元素,有下列三种方式。

(1)使用“命名空间::元素”方式指定命名空间中定义的元素。例如,如果要在屏幕上输出数据,并且在末尾加上换行,就要使用标准命名空间std中的cout和endl,在使用cout和endl时,在cout和endl前面加上命名空间和“::”作用域标识符,示例代码如下所示:

std::cout<<"C++"<<std::endl;

(2)使用using语句引用命名空间元素。例如,如果在屏幕上输出数据,可以使用using引用标准命名空间中的cout,这样在后面的代码中可以随意使用cout,示例代码如下所示:

using std::cout;
cout<<"C++";

需要注意的是,这种方式只能使用using引入的元素,例如,无法单独使用endl这个元素,但可以通过std::endl的形式使用endl。(3)使用using语句直接引用命名空间。示例代码如下所示:

using namespace std;

标签:std,yyds,cout,C++,空间,干货,命名,using
From: https://blog.51cto.com/u_12891160/6509939

相关文章

  • C++17特性
    构造函数模板推导在C++17前构造一个模板类对象需要指明类型:pair<int,double>p(1,2.2);//beforec++17C++17就不需要特殊指定,直接可以推导出类型,代码如下:pairp(1,2.2);//c++17自动推导vectorv={1,2,3};//c++17结构化绑定1.获取值//绑定tuplestd::tupl......
  • C++练习题
    多态判断Q1:虚函数可以是内联的?A1:错误。内联是编译时刻决定的,虚函数是运行时刻动态决定的,所以虚函数不能是内联函数。虚函数前加上inline不会报错,但是会被忽略。Q2:一个类内部,可以同时声明staticvoidfun()和virutalvoidfun()两个函数?A2:错误。虽然静态函数......
  • C++面试八股文:什么是RAII?
    C++面试八股文:什么是RAII?某日二师兄参加XXX科技公司的C++工程师开发岗位第13面:面试官:什么是RAII?二师兄:RAII是ResourceAcquisitionIsInitialization的缩写。翻译成中文是资源获取即初始化。面试官:RAII有什么特点和优势?二师兄:主要的特点是,在对象初始化时获取资源,在对......
  • C++基础知识总结
    2023/6/18本篇章记录学习过程C++的基础概念和代码测试实现,还有很多需要补充。一是还不清楚,二是还没有学到。打算学习过程中后面再做补充。先看完《C++primer》书之后再慢慢来添加补充1.函数重载一个函数名可以实现多个功能,这取决于函数参数不同来实现判断对应的功能,与返回......
  • C++面试八股文:std::string是如何实现的?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第18面:面试官:std::string用过吧?二师兄:当然用过(废话,C++程序员就没有没用过std::string的)。面试官:std::string("hello")+"world"、"hello"+std::string("world")和std::string("hello")+std::string("world")的......
  • C++面试八股文:std::string是如何实现的?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第18面:面试官:std::string用过吧?二师兄:当然用过(废话,C++程序员就没有没用过std::string的)。面试官:std::string("hello")+"world"、"hello"+std::string("world")和std::string("hello")+std::string("world")的......
  • C++构造函数
    RAIIResourceAcquisitionIsInitialization,资源获取即初始化这是一种解决资源管理问题的方法,将资源的有效期与持有资源的对象的生命期严格绑定,由对象的构造函数完成资源的分配,由析构函数完成资源的释放C++借助构造函数和析构函数,解决了传统的malloc&free和new&de......
  • C++创建对象的4种方式对比
    三种方式分别为等号,圆括号,大括号,最后一种是等号和大括号一起使用等号和圆括号是以前就存在的,大括号是新的语法,其具有2个优点:防止变窄转换:大括号不支持变窄转换,等号和圆括号为了向下兼容支持变窄转换免疫C++最令人头疼的解析:C++规定任何可以被解析为一个声明的东西必......
  • Python和C++之间的主要区别点?
    Python和C++之间的区别可以简洁地概括如下:编程范式:Python是一种解释型、面向对象的动态语言,更注重代码的简洁性和可读性,适合快速开发和原型设计。C++是一种编译型、多范式语言,支持面向对象、过程式和泛型编程,更注重底层的控制和性能优化。语法复杂性:C++具有较为复杂的语法和......
  • C++家谱管理系统[2023-06-18]
    C++家谱管理系统[2023-06-18]小组项目二实验题目:家谱管理系统实验目的:1、掌握树以及二叉树的定义;2、掌握树以及二叉树的基本操作,如建立、查找、插入和删除等。实验要求:小组合作方式,共同讨论完成该任务。实验内容:家谱管理系统是查询家谱信息必不可少的一部分,利用家谱管理系......