首页 > 编程语言 >C++常用知识语法--双冒号

C++常用知识语法--双冒号

时间:2023-10-23 20:33:14浏览次数:30  
标签:count 冒号 -- 作用域 C++ member int 全局

C++常用知识语法--双冒号

  1. 作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为避免不同的类有名称相同的成员而采用作用域的方式进行区分
    例如:A、B表示两个类,在A、B中都有成员member
    A:: member就表示类A中的成员member
    B:: member就表示类B中的成员member
  2. 全局作用域符号
#include <stdio.h>
int count = 0;//全局变量0
int main()
{
	int count = 10;
	printf("count = %d\n", count);//局部变量10
	{
		int count = 20;
		printf("count = %d\n", ::count);//作用域符号指出引用全局变量0
		
	}
	return 0;
}

结果显示:

作为全局作用域符号,双冒号要放在开头。这与linux下文件路径类似,“/”放在开头表示绝对路径,放在中间表示子目录。::符号既可以指定类,也可以指定变量和命名空间

  • 如果函数放在全局,就是全局函数
  • 如果变量定义在全局,就是全局变量
  • 如果一个命名空间放在全局,就是全局命名空间
  1. 双冒号也常常用于在类变量内部作为当前类实例的元素进行表示
class CA {
public:
    int ca_var;
    int add(int a, int b);
    int add(int a);
};
 
//作用域
int CA::add(int a, int b)
{
    return a + b;
}
 
//另外,双冒号在类变量内部作为当前类实例的元素进行表示
int CA::add(int a)
{
    return a + ::ca_var;
}
//表示当前类实例中的变量ca_var

标签:count,冒号,--,作用域,C++,member,int,全局
From: https://www.cnblogs.com/bonne-chance/p/17783406.html

相关文章

  • FreeRTOS深入教程(任务的引入及栈的作用)
    (文章目录)前言本篇文章开始带大家深入学习FreeRTOS,带大家学习什么是任务,并且深入学习栈的作用。一、任务的引入在FreeRTOS中,任务(Task)是一个基本的执行单元,它代表了一个并行执行的工作单元。FreeRTOS是一个实时操作系统,允许你创建多个任务,每个任务都有自己的代码、堆栈和优......
  • Nginx 1
    一、关于Nginx1.NginxNginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(UniformResourcesIdentifier)URI或者统一资源定位符(UniformResourcesLocator)URL作为沟通依据,通过HTTP协议提供各种网络服务。Nginx是一个跨平台服务器,可以运行在Linux,Windows,Free......
  • Python 数组和列表:创建、访问、添加和删除数组元素
    Python没有内置支持数组,但可以使用Python列表来代替。数组本页将向您展示如何使用列表作为数组,但要在Python中使用数组,您需要导入一个库,比如NumPy库。数组用于在一个变量中存储多个值:示例,创建一个包含汽车名称的数组:cars=["Ford","Volvo","BMW"]什么是数组?数组是......
  • 分支与循环结构
    一套语言主要由三种结构组成(顺序结构、选择结构、循环结构)。今天给大家介绍一下后两者中的分支与循环。一、分支(选择)语句有if语句和switch语句:1.if:(1)if(表达式)【表达式表示真假】所执行的语句注意:一个if默认包含一个语句,若要控制多个......
  • oracle数据库启停
    使用oracle登录//停止1.ps-ef|grepsmon2.exportORACLE_SID=cbsdba(这是实例名字)3.sqlplus/assysdba 4.shutdown immediate;//启动1.ps-ef|grepsmon2.exportORACLE_SID=cbsdba3.sqlplus/assysdba 4.startup;5.alter pluggabledatabaseallopen;......
  • 无涯教程-Clojure - 日期&时间
    由于Clojure框架是从Java类派生的,因此可以使用Clojure中Java中可用的日期时间类,以下是可用于日期时间类的方法。java.util.Date这用于在Clojure中创建日期对象。java.util.Date.以下程序显示了有关如何使用它的示例。(nsexample)(defnExample[](defdate(.toStrin......
  • PAT 甲级1008【1008 Elevator】
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.StreamTokenizer;publicclassMain{@SuppressWarnings("unchecked")publicstaticvoidmain(String[]args)throwsIOException{......
  • 5种常用Web安全扫描工具,快来查漏补缺吧!
    漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。那么好用的漏洞扫描工具有哪些?答案就在本文!1、AWVSAcunetixWebVulnerabilityScanner(简称AWVS)是一款知名的网络......
  • Java基础 Java中编码、解码的方法
    所谓编码,就是把我们要存储的数据变成能真正的存储在硬盘当中的字节数据 编码的方法:public byte[] getBytes()  →  使用默认方式进行编码(idea默认使用UTF-8;eclipse默认使用GBK)public byte[] getBytes(String charsetName)  →  使用指定方式进行编码......
  • 课堂测试3
    1importjava.io.*;2importjava.util.*;3importjavax.print.DocFlavor;4importjavax.swing.*;5678publicclassMain{9publicstaticMap<String,Integer>map=newHashMap<>();10publicstaticvoidmain(String[]args......