C++中双冒号::的用法
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍"C++中双冒号::的用法",在日常操作中,相信很多人在C++中双冒号::的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++中双冒号::的用法"
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
工业数据库建立方法
安全教育与网络安全福建
深空之眼服务器拥堵
车身设计软件开发
我的世界服务器怎么用
磁盘管理被服务器禁用了怎么办
数据库服务器不进行数据处理
屏幕共享软件开发一般哪家好
湖南省学电脑软件开发招生
武汉市博速达网络技术有限公司
数据库和三层架构
黑龙江凌云网络技术
蛋白质朴的数据库
软件开发图标集合
张店瓷砖库存软件开发
手机远程服务器地址
网络技术员赚外快
万方数据库检索方式
简要论述网络安全管理趋势
网络安全形势建议
网络技术培训ppt下载
为什么云端服务器维护中
我的世界服务器怎么用
方舟生存进化jqr服务器怎么找
云服务器华为腾讯阿里云对比
网络安全好的院校
数据库中空值是指空的字符串
外文国际期刊论文数据库
天盈互联网络科技有限公司
怎样复制数据库