物联网-C++——2、冒号作用域、命名空间

news/2024/11/27 15:44:17/

## ::

可以指定作用域
如下如果不加::会打印局部变量a,就近原则
冒号前为空表示全局作用域


#include <iostream>
using namespace std;int a = 100;
void test() {int a = 10;cout << ::a << endl;
}
int main()
{test();
}

## namespace
1、可以存放变量、函数、类、结构体
2、命名空间可以重名和嵌套
3、必须定义在全局范围内
定义两个命名空间
使用前需加作用域

#include <iostream>
using namespace std;namespace a{int i=100;
}
namespace  b{int i = 1000;
}int main()
{cout << a::i << endl;}

命名空间内函数声明及外部定义

#include <iostream>
using namespace std;namespace a{void test();
}
void a::test() {cout << "hello" << endl;
}int main()
{a::test();
}

无名命名空间
没有名字会在所有成员前添加static修饰
也就是所有成员都被声明为静态

#include <iostream>
using namespace std;namespace {void test() {cout << "hello" << endl;}
}int main()
{test();
}

命名空间取别名
给命名空间取一个别名

#include <iostream>
using namespace std;namespace a{void test() {cout << "hello" << endl;}
}
namespace newa = a;int main()
{newa::test();a::test();
}

using

指定使用命名空间

#include <iostream>
using namespace std;namespace a{void test() {cout << "hello" << endl;}
}
namespace b {void test() {cout << "hello xingnian" << endl;}
}namespace c{void test() {cout << "hello world" << endl;}
}int main()
{using namespace b;test();}

使用指定明明空间下的成员

#include <iostream>
using namespace std;namespace a{void test() {cout << "hello" << endl;}
}
namespace b {void test() {cout << "hello xingnian" << endl;}
}namespace c{void test() {cout << "hello world" << endl;}
}int main()
{using c::test;test();}

http://www.ppmy.cn/news/2648.html

相关文章

Qt-数据库开发-QTableView操作数据库(2)

Qt-数据库开发-QTableView操作数据库、自增Key 文章目录Qt-数据库开发-QTableView操作数据库、自增Key1、概述2、实现效果3、主要代码4、完整源代码更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;数据库开发 &#x1f448; 1、概述 在开发数据库开发时…

SpringBoot:概述

Spring Boot 是 Spring 开源组织下的子项目&#xff0c;是 Spring 组件一站式解决方案&#xff0c;主要是简化了使用 Spring 的难度&#xff0c;简省了繁重的配置&#xff0c;提供了各种启动器&#xff0c;开发者能快速上手。 &#xff5e; 本篇内容包括&#xff1a;Spring Boo…

图书商城在线销售系统(ssm,layui,mysql)+全套视频教程

今天&#xff0c;我们发布一套【图书商城在线销售系统(ssm,layui,mysql)】,系统使用技术包含JAVA,SSM,LAYUI,MYSQL&#xff0c;这套系统后台框架使用SSM,数据库使用MySql, 这套系统包含完整的源代码和数据库脚本&#xff0c;根据我们提供的开发工具和运行视频教程&#xff0c;拿…

五道LeetCode《中等难度》的单链表题

五道单链表中等难度题型1. 剑指 Offer II 021. 删除链表的倒数第 n 个结点第一种解法&#xff08;单指针&#xff09;&#xff1a;第二种解法(栈)&#xff1a;第三种解法&#xff08;双指针&#xff09;&#xff1a;2. 删除排序链表中的重复元素 II&#xff08;重点&#xff09…

【C++学习笔记】C++编程环境配置

g跟gcc之间是否有依赖关系 g跟gcc之间没有依赖关系&#xff0c;两者分别对应面向C和C语言的编译程序&#xff0c;关于gcc和g的区别&#xff0c;请参考知乎回答《gcc和g是什么关系&#xff1f; ——gcc 和 g 的区别》 1 Ubuntu环境配置 Ubuntu官方源提供gcc和g预编译版本 Ub…

商务与经济统计 | 描述统计学

一.表格法和图形法 条形图 是一种描述已在一个频数&#xff0c;相对频数或百分数频数分布中汇总的品质数据的图形方法 饼形图 是一种常用的描绘品质数据的相对频数分布的图形方法 直方图 横轴上表示所关心的变量&#xff0c;纵轴上表示频数&#xff0c;相对频数或百分数频数…

如何给图片加水印?分享怎么给图片加水印的方法

当我们在平台上发布自己精心拍摄的照片&#xff0c;或分享自己总结的知识点时&#xff0c;难免会遇到一些人盗用自己图片的情况。这时候&#xff0c;我们就会给图片添加上水印&#xff0c;从而来防止自己的图片被盗&#xff0c;那要怎么给图片加水印呢&#xff1f;别着急&#…

Day41——Dp专题

文章目录四、完全背包01背包的核心代码完全背包的核心代码12、零钱兑换 II13、组合总和 Ⅳ四、完全背包 完全背包&#xff1a;每一个物品可以选无限次 完全背包和01背包问题唯一不同的地方就是&#xff0c;每种物品有无限件 01背包的核心代码 for(int i 0; i < weight.…