iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中双冒号::用法案例详解
  • 278
分享到

C++中双冒号::用法案例详解

2024-04-02 19:04:59 278人浏览 安东尼
摘要

c++中的双冒号 :: 第一种,类作用域,用来标明类的变量、函数 Human::setName(char* name); 第二种,命名空间作用域,用来注明

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.h
class WzSerialPort
{
public:
	// ...
	bool open();
	void close();
	// ...
};

注意以下的cpp文件,如果没有 :: 则会报错误,因为WzSerialPort库中有函数open和close,跟全局函数open和close名字相同,如果不做全局与局部的区分,则无法调用到全局函数


// WzSerialPort.cpp
bool WzSerialPort::open()
{
	if( ::open(portname,O_RDWR|O_NOCTTY|O_NONBLOCK) != -1 )
		return true;
	else
		return false;
}
void WzSerialPort::close()
{
	::close(fd);
}

到此这篇关于C++中双冒号::用法案例详解的文章就介绍到这了,更多相关C++中双冒号::用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++中双冒号::用法案例详解

本文链接: https://www.lsjlt.com/news/134584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中双冒号::用法案例详解
    C++中的双冒号 :: 第一种,类作用域,用来标明类的变量、函数 Human::setName(char* name); 第二种,命名空间作用域,用来注明...
    99+
    2024-04-02
  • C++ 双冒号::符号详解
    目录一、作用域符号:二、全局作用域符号:三、作用域分解运算符:一、作用域符号: 作用域符号 :: 的前面一般是类名称,后面一般是该类的成员名称,C++ 为例避免不同的类有名称相同的成...
    99+
    2023-03-09
    C++ 双冒号
  • kotlin中,::双冒号的使用详解
    一、:: 双冒号操作符 在 Kotlin 中 , :: 双冒号操作符 的作用是 获取 类 , 对象 , 函数 , 属性 的 类型对象 引用 ; 获取的这些引用 , 并不常用 , 都是在 Kotlin ...
    99+
    2023-10-02
    kotlin android java
  • 详解kotlin中::双冒号的使用
    目录一、:: 双冒号操作符1、获取类的引用2、获取对象类型的引用3、获取函数的引用4、获取属性的引用二、 java.lang.Class 与 kotlin.reflect.KClas...
    99+
    2023-05-16
    kotlin::双冒号 kotlin::双冒号使用 kotlin双冒号
  • kotlin 中双冒号 :: 的用法
    在Kotlin中,::是一个操作符,它可以用来引用函数、属性或构造函数。具体用法如下: 引用函数:可以使用::操作符来引用一个函数。例如,::println可以用来引用println函数。 fun printWithPrefix(prefi...
    99+
    2023-10-07
    kotlin android 开发语言
  • C++双冒号怎么使用
    这篇文章主要介绍了C++双冒号怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++双冒号怎么使用文章都会有所收获,下面我们一起来看看吧。一、作用域符号:作用域符号 :: 的前面一般是类名称,后面一般是该...
    99+
    2023-07-05
  • Java双冒号(::)运算符使用详解
    目录1.说明2.先来说下@FunctionalInterface3. 下面来讲讲这个 "::"是干嘛的4. 建立一个Person类4:构建多个person对象,放入数组中,然后对数组...
    99+
    2024-04-02
  • C++之&与*符号用法案例详解
    C++ 之 & 和 * 1.基本概念与二者区别 指针是一块内存的地址值,而引用是一块内存的别名。 从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它...
    99+
    2024-04-02
  • Java中双冒号: :的作用
    一、定义 双冒号运算操作符是类方法的句柄,lambda表达式的一种简写 表达式:person -> person.getName();可以替换成:Person::getName表达式:() -> new HashMap();可以替换成:...
    99+
    2023-09-22
    jvm java Powered by 金山文档
  • C++中inline用法案例详解
    1 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数,栈空间就是指放置程序的局...
    99+
    2024-04-02
  • kotlin中::双冒号如何使用
    这篇文章主要介绍“kotlin中::双冒号如何使用”,在日常操作中,相信很多人在kotlin中::双冒号如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”kotlin中::双冒号如何使用”的疑惑有所帮助!...
    99+
    2023-07-06
  • C++ GetDlgItem用法案例详解
    GetDlgItem的用法小结 GetDlgItem用于获得指定控件ID的窗体指针,函数原型如下: HWND GetDlgItem( HWND hDlg, int nI...
    99+
    2024-04-02
  • C++ ostream用法案例详解
    概述 在 C++中,ostream表示输出流,英文”output stream“的简称。在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直...
    99+
    2024-04-02
  • C# Request.Form用法案例详解
    在CS文件中获得对应页面中的下拉框DropDownList_sitebranch值可以有以下几种方法获得: siteInfo.FZJGID = DropDownList_site...
    99+
    2024-04-02
  • C# pictureBox用法案例详解
    PictureBox 控件可以显示来自位图、图标或者元文件,以及来自增强的元文件、JPEG 或 GIF 文件的图形。如果控件不足以显示整幅图象,则裁剪图象以适应控件的大小。 本文利用...
    99+
    2024-04-02
  • C++ cin.get用法案例详解
    与字符串输入一样,有时候使用 cin>> 读取字符也不会按我们想要的结果行事。 例如,因为它会忽略掉所有前导白色空格,所以使用 cin>> 就不可能仅输入一个...
    99+
    2024-04-02
  • C++ odr用法案例详解
    // The main module. File: odr_test1.cpp #include <iostream> void module1_print...
    99+
    2024-04-02
  • C# Console.WriteLine()用法案例详解
    以前用Console.WriteLine()的时候就只会用它直接输出string字符串,但后来发现它还有其它在有些场合下会十分方便的输出方法,这篇就记录一下这些方法的使用吧。 代码格...
    99+
    2024-04-02
  • C++ template用法案例详解
    有必要记一下这种一眼看上去就很高级的用法。还是编程不够多。都没用过这个。 相信用过c++的人,即便没用过,也肯定都听说过模板类这个词。嗨不巧了,今天讲的就是模板类。 模板是c++支持...
    99+
    2024-04-02
  • C# DialogResult用法案例详解
    在程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成后,当用户点击“确定”按钮后,在主窗体中进行其他的处理。比如一个简单的例子,在主窗体中有一个菜单,是“增加用户”,当点击这...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作