C++中双冒号::的用法
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"C++中双冒号::的用法",在日常操作中,相信很多人在C++中双冒号::的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++中双冒号::的用法"
千家信息网最后更新 2026年11月02日C++中双冒号::的用法
这篇文章主要介绍"C++中双冒号::的用法",在日常操作中,相信很多人在C++中双冒号::的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++中双冒号::的用法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
C++中的双冒号 ::
第一种,类作用域,用来标明类的变量、函数
Human::setName(char* name);
第二种,命名空间作用域,用来注明所使用的类、函数属于哪一个命名空间的
std::cout << "Hello World" << std::endl;
第三种,全局作用域,用来区分局部、全局的。最容易被忽视的一种,很多时候写了一个全局函数或者想要调用一个全局函数,却发现IDE或者Editor找不到该函数,原因是因为局部函数与想要调用的全局函数名字一样,然后找了很久也找不到原因,甚至放弃解决的。其实原因就是因为 【局部变量/函数】 与 【全局变量/函数】 的名字相同,IDE无法区分,这时候加上 :: 就可以调用到全局函数,访问到全局变量了。
举个例子:
Linux下串口打开、关闭的api
// fcntl.h文件下的全局函数open open (const char *__path, int __oflag, ...)// unistd.h文件下的全局函数extern int close (int __fd);
由于每次找api是一件非常浪费coding时间,而且是没多大意义的事情,我现在要将这个函数封装成一个我自己的个人串口库WzSerialPort.h、WzSerialPort.cpp
// WzSerialPort.hclass WzSerialPort{public: // ... bool open(); void close(); // ...};注意以下的cpp文件,如果没有 :: 则会报错误,因为WzSerialPort库中有函数open和close,跟全局函数open和close名字相同,如果不做全局与局部的区分,则无法调用到全局函数
// WzSerialPort.cppbool WzSerialPort::open(){ if( ::open(portname,O_RDWR|O_NOCTTY|O_NONBLOCK) != -1 ) return true; else return false;}void WzSerialPort::close(){ ::close(fd);}到此,关于"C++中双冒号::的用法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
函数
全局
冒号
C++
变量
学习
作用
原因
名字
局部
文件
相同
串口
更多
空间
帮助
实用
接下来
个人
事情
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
重生之互联网科技帝国
互联网科技集团
万易互联网科技有限公司
远信互联网科技
九亚互联网科技
南京欣网互联网科技
深圳期待互联网科技
互联网科技产品
创业天下互联网科技有限公司
成都互联网科技公司100强
湖北码尼互联网科技有限公司电话
高科技互联网发展前景如何
工业互联网等科技实现智能化赋能
互联网科技实习生岗位
本届互联网大会上的黑科技
互联网科技机房
易租星互联网科技有限公司
科技互联网公司两年变化
优雇互联网科技有限公司
互联网大会出现的黑科技
手冲咖啡和咖啡机区别
耶加雪菲
南京欣网互联网络科技
奇酷互联网络科技公司
新浪科技互联网
互联网前沿科技
西藏七维空间互联网科技有限公司
重庆威客帮互联网科技
杭州壁岐互联网科技有限公司
高科技互联网发展前景如何