C++ 复习 1 : 命名 空间

【c++】c++标准库自带的排序函数sort的复习与应用 一年没写代码,复习各种函数的使用。 sort函数需要引用algorithm库,位于命名空间std内(std::sort),包含3个参数(第三个参数如不填写,将默认为升序排序) 例如sort(a+x,a+y,cmp) 就是数组(或是vector之类的容器)的第x+1至第y个的数据进行排序(以0为计数起点),排序原则按照bool函数cmp的返回值 bool cmp(const int a,c 阅读详情

C++ 和 C 语音的联系 

C和C++之间的关系是紧密且复杂的。C++最初是作为C语言的一个扩展开发的,目的是在不放弃C的强大功能和效率的同时,增加对象导向编程、泛型编程和其他一些特性。下面是C和C++之间主要的关系和区别:

1. 兼容性:C++在很大程度上是与C兼容的。这意味着许多C程序可以在C++编译器中编译并运行,尽管可能需要一些小的修改。


2. 面向对象编程(OOP):C++引入了面向对象编程。它允许使用类和对象,而C是一个过程性语言,不支持这些概念,或者说支持的不好,麻烦。


3. 模板:C++支持模板,这是一种允许程序员编写与数据类型无关的代码的功能。C没有这个功能。


4. 标准库:C++有一个更丰富的标准库,包括STL(标准模板库),这为数据结构和算法提供了广泛的支持。而C的标准库相对较小。


5. 类型检查:C++比C提供更严格的类型检查。这意味着某些在C中可行但可能导致错误的代码在C++中可能无法编译。


6. 异常处理:C++支持异常处理,这是一种处理程序运行时错误的机制。C没有内置的异常处理机制,需要程序员自己编写程序去处理异常。


7. 命名空间:C++引入了命名空间,这有助于防止名称冲突。C没有这个概念。


==================================

命名空间

 命名空间作用


创建自己的命名空间是 C++ 中组织代码的一种好方法,特别是在开发大型项目或库时。命名空间可以帮助你避免名称冲突,并且清晰地组织代码。


std 是 C++ 标准库的命名空间。它是一个定义在 C++ 标准库中的所有类、函数和变量的命名空间。


我们新建一个QTCreator的C++工程,默认生成的代码

#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}

两种方法使用命名空间

在 C++ 中,如果你想使用标准库中的任何类、函数或对象,你通常有两种选择:


1. 使用 std:: 前缀:这是最常见的方式,它明确指定了你正在使用的是位于 std 命名空间中的元素

std::cout << "Hello, world!" << std::endl;

2. 使用 using namespace std; :这允许你在不显式指定 std:: 的情况下使用 std 命名空间中的所有元素。

std包含的内容


std 命名空间包含了许多类、函数和对象,例如:


输入输出库(如 std::cout , std::cin , std::endl )
容器类(如 std::vector , std::map , std::set )
字符串类( std::string )
异常类( std::exception 和相关子类)
算法(如 std::sort , std::find )
实用工具(如 std::pair , std::tuple )
其他许多功能


使用建议


对于小型代码或示例代码,使用 using namespace std; 通常是安全的。
对于大型项目或库,建议显式地使用 std:: 前缀,以避免潜在的名称冲突,并提高代码的可读性
和可维护性。


std 命名空间是 C++ 编程的基础部分,理解和正确使用它对于编写健壮和高效的 C++ 代码至关重要。

=================================

创建自己的命名空间:

#ifndef CIR_H
#define CIR_H

namespace Circle {
double PI =3.1415926;
// 获取圆形的周长
double getGirthOfCircle(double radius){
    return  2*radius*PI;
}

//获取圆形的面积
double getAreaOfCircle(double radius){
    return  PI*radius*radius;
}

}


#endif // CIR_H
#include <iostream>
#include <stdio.h>
#include "cir.h"

using namespace Circle;

int main()
{
    double r = 5;

   // printf("Girth : %ld\nArea : %ld\n",Circle::getGirthOfCircle(r),Circle::getAreaOfCircle(r));
    printf("Girth : %ld\nArea : %ld\n",getGirthOfCircle(r),getAreaOfCircle(r));

    return 0;
}

输出结果


使用命名空间
在另一个文件中,我们可以使用这个命名空间中定义的函数和常量:

在 main.cpp 中,我们首先包含了定义 Cir 命名空间的头文件。然后,我们可以使用 Cir:: 前缀来访
问该命名空间中的函数和常量。
通过使用自定义命名空间,你可以有效地组织你的代码,并减少不同库之间的名称冲突。这在大型项目和团队协作中尤其重要。
================================

C++QT入门_c++ qt ​ Qt 是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。常见GUI:QT:支持多平台开发;支持css;面向对象特性体现突出;发展趋势良好。MFC:只能在windows开发;运行程序效率高;库的安全性好;public slots: // 添加槽函数private:// 重新更新// 设置 完成之后可以拉伸。 阅读详情

相关推荐

Qt(C++)入门学习

本文适用于在c++ cmake项目中使用qt,需要快速入门的同学。

m0_47096428的博客 8486

QT/C++从新手到老手系列之QT基础篇

本系列课程励志于带领你学习QT5/C++,从开发环境(QTCreator和VS2013两种)搭建到实际项目实战,从入门到精通。每一个部分均有理论知识介绍、接口讲解、实例代码讲解,讲解过程中不断穿插老师在开发过程中遇到的问题及解决方法。本阶段主要学习Qt开发环境搭建(QTCreator及VS)、程序的发布、GUI控件的属性、方法、布局管理、容器类、QT事件处理等,学完本阶段后可以开发小型的应用程序。

C++学习记录之命名空间(一)

在C++中,命名空间(namespace)是一种机制,用于将全局作用域划分为不同的命名区域,从而避免命名冲突。命名空间可以包含变量、函数、类、模板等定义。使用关键字namespace来定义命名空间,后面跟着命名空间的名称和一个代码块。int value;// 函数实现// 类定义//命名空间嵌套MySpace 就是这个命名空间的名称。大括号 {} 内是命名空间的主体,里面可以包含变量、函数、类、结构体等。关于命名空间就先记录到这里吧,感觉有用的朋友点个关注吧!!!

weixin_51722423的博客 670

QT基本使用及相关组件介绍(C++版)

​ Qt 是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。常见GUI:QT:支持多平台开发;支持css;面向对象特性体现突出;发展趋势良好。MFC:只能在windows开发;运行程序效率高;库的安全性好;public slots: // 添加槽函数private:// 重新更新// 设置 完成之后可以拉伸。

swpucwf的博客 1万+

Qt中的C++技术 学习总结:(3)类型分类(Type Classification)技术

设一个模板具有模板参数T,表示C++中的某种类型。有些情况下,随着T所取类型的不同,该模板会做不同的处理。在设计该模板时,我们需要了解T的具体信息。在编写一个具有模板参数T的类模板时,有时需要了解T所取类型的具体信息,以做不同的处理。这是一个棘手的问题,因为C++语言只有很少几个运算符能够处理“类型”:sizeof、dynamic_cast以及typeid。和我们想要获取的类型信息相...

Mr.Sugarcane 806

ISP Tuning实战指南:从基础到高级的色彩与亮度优化

本文详细介绍了ISP Tuning的基础概念与高级调优技术,包括黑电平校正(BLC)、自动白平衡(AWB)、色彩校正矩阵(CCM)和Gamma曲线调整等核心算法。通过实战案例和调试技巧,帮助工程师提升摄像头成像质量,解决高光过曝、暗部噪点等常见问题,适用于智能门铃、车载摄像头等多种场景。

weixin_30879169的博客 108

【细品C++】命名空间详解(namespace)

本篇文章是C++中的命名空间详解,也是笔者第一篇关于C++的文章,同时,由于本篇文章旨在面向有一定C基础的C++初学者,所以会使用部分C语法。希望对你命名空间的学习有所帮助。

crrrush的博客 3370

Android以太网开关流程分析

Android以太网开关流程分析 一、引言   在Android 以太网服务启动流程中我们启动了EthernetService(ES),NetworkManagementService(NMS)等服务,其中ES作为Binder的服务端,向客户端EthernetManger提供了调用接口的引用。因此,应用可以通过EthernetManger来访问以太网的相关接口。本篇文章将从APP调用以太网的使能和关闭的接口流程作为切入点来分析,以太网框架中,上层app是如何将指令传递到底层。图1-1所示为以太网使能和关闭

franc521的博客 6113

C++复习-命名空间/iostream/缺省参数

打算认真复习一下C++语言,将自己复习的笔记整理出来。本篇文章主要介绍的是命名空间、iostream和缺省参数,欢迎大家交流分享。

weixin_47533318的博客 392

服务器安全配置:二、本地安全策略设置

密码最长使⽤期限”设置为“90天”;“⽤可以还原的加密来存储密码”设置为“禁⽤”“复位账户锁定计数器”设置为15分钟,贴图这里是我自己设置的时间,15分钟也够用,具体看自己需要。”网络访问: 不允许 SAM 帐户和共享的匿名枚举“设置为“已启用””网络访问: 限制对命名管道和共享的匿名访问“设置为“已启用””网络访问: 不允许匿名枚举 SAM 帐户“设置为“已启用”“关机: 允许系统在未登录的情况下关闭”设置为“已禁用”(1)交互式登录:不显示最后的⽤户名”设置为“已启⽤”

weixin_48825672的博客 3136

Ubuntu16.04下禁用scp、sftp和winscp

在上一篇博文《Ubuntu16.04 搭建FTP服务器,设置用户权限为只许上传、禁止下载和删除》中,我讲述了Ubuntu16.04下配置FTP,并且设定用户权限为只能上传数据,禁止下载和删除数据。这算在FTP层面封堵了服务器数据泄露的途径。 但是,Ubuntu系统的scp和sftp还是起作用的,理论上只要能用本地机器ping通服务器,就可以用scp和sftp下载数据,这还是存在数据泄露可能的,所...

HPC&Geophysics攻城狮 5737

c++头文件、命名空间、std的复习整理

一、命名空间 1、命名空间由来 在一个中大型软件开发过程中,会有多名程序员共同负责编写而成,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。若要将它们结合到一起就有可能会出现命名冲突。 为了解决合作开发时的命名冲突问题,C++ 引入了命名空间(Namespace)的概念。 2、使用方法 namespace kong{//小孔的命名空间 int } ...

qq_45930294的博客 881

如何在离线的电脑上部署一个本地Deepseek(使用ollama)

例如,如果您的显卡显存为 16GB,官方推荐使用 32b 大小的 DeepSeek 模型。请根据您的硬件配置选择适合的模型版本,以获得最佳性能。首先我们需要将ollama和chatbox的安装包,Deepseek模型文件通过U盘或者光盘的形式导入到这台不能联网的电脑上。按照时间排序,找到最大的那个文件,就是gguf格式的模型,复制出来,改名为qwen2.5-coder0.5b.gguf。:基于开源模型(如 QWEN 和 LLAMA)微调,参数量从 1.5B 到 70B 不等,适合本地硬件部署。

qq_41854911的博客 1万+

复习:C++的命名空间

一、命名空间 1.1、什么是命名空间? 命名空间(namespace)是C++语言特别重要的特性,当第三方供应商提供的库时,为了避免与其他供应商或者用户定义的名字相冲突(命名空间污染),常常将库的内容放置在自己独立的命名空间中。C++标准库也定义了相应命名空间std,用户在使用标准库时必须通过作用域运算符(::),或者使用using关键词来简化命名空间中名字的使用。 1.2、命名空间的实现与使用?...

Jan___的博客 255

第8讲:基于CST PCB Studio的电源完整性仿真(IR Drop + PDN)

本文系统介绍了电源完整性(PI)仿真的两大核心模块:直流IRDrop仿真与交流PDN阻抗仿真。文章详细阐述了两种仿真的原理、算法(PEEC和3DFE-FD)及完整操作流程,包括参数配置、软件实操步骤和常见问题解决方案。IRDrop仿真用于分析直流供电压降问题,PDN仿真则针对高频电源噪声和谐振问题。文中还提供了优化建议和故障排查方法,如调整铜箔厚度、优化电容布局等,为高速数字系统的电源完整性设计提供了全面的技术指导。(149字)

一只豌豆象的博客 239

【Burp入门第二篇】Chrome配置BurpSuite代理教程

1、配置Burp代理为127.0.0.1:80802、扩展商店添加插件switchyomega,修改服务器和端口为下图:3、打开代理,选择刚才添加的代理

等风来 8368

C++复习(1)命名空间,引用,宏

官方库,自己的库,别人的库命名空间可以有变量,函数,结构体流提取全缺省声明和定义不允许同时给缺省参数 ,所以分离时候声明给,定义不给static可以改变连接属性吧外部链接改成内部链接函数名相同。

Areszyz的博客 965

【深度学习新浪潮】近三年垂域大模型研究与产品进展全景洞察(2022-2025)

近三年来,垂域大模型完成了从技术探索到产业落地的关键跨越,在多个行业实现效率提升与价值创造。面对数据治理、技术适配、生态建设等挑战,未来需要通过技术创新、标准制定、人才培养等多维度发力,推动垂域大模型向更高效、更可靠、更普惠的方向发展。随着"人工智能+"行动的深入推进,垂域大模型将成为数字经济与实体经济深度融合的核心驱动力,为产业智能化升级注入持续动能。

专注:太空算力、AI infra、异构调度、大模型成本工程 786

C++命名规范(Google风格)文件命名、类型命名、变量命名、函数命名……

最近复习408数据结构,看书的时候发现函数命名各式各样,网上的也没有一个统一的说法,就自己去找了一个,仅此记录。 Google开源项目指南 命名约定 最重要的一致性规则是命名管理. 命名的风格能让我们在不需要去查找类型声明的条件下快速地了解某个名字代表的含义: 类型, 变量, 函数, 常量, 宏, 等等, 甚至. 我们大脑中的模式匹配引擎非常依赖这些命名规则. 命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重要, 所以无论你认为它们是否重要, 规则总归是规则. 1. 通用命名规则 总述 函数命名

qq_45135120的博客 2万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C++要点系统复习一:关于namespace命名空间的那些事

一、关于命名空间 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 1:<iostream>和<iostream.h>格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了

学无止境 342

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

1.CPP的入门

cpp学习复习

Autuxy的博客 1151

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C++ 期末超详细复习笔记

接收什么参数返回什么值具体进行了什么操作则可以放在函数的实现中完成函数的重载和返回值无关,只需要满足函数的名字相同但是参数列表不同即可并且在调用的时候不能产生歧义通过虚函数和指向子类对象的父类指针,可以把不同的子类统一视为其共同的父类。于是无需针对不同的子类写相同的代码,将其统一视作父类,比如在构建对象数组的时候,只需要一个父类的数组就能容纳所有的子类对象。本质是将虚函数的能做什么和怎么做分离出来,基类指定要做什么,子类来实现具体的做法。

kkq的博客 2682

c++知识点复习

1、类的一般形式class 类名 : 继承方式 父类public/private/protected: // 访问控制限制符成员变量;// 构造函数类名(形参表)// 析构函数~类名(void)2、类的访问控制限定符public:公有成员,在任何位置都可以访问private:私有成员,只能在类(自己)的成员函数中访问protected:受保护成员,只能在类(自己)和子类中访问。

yykYYK2010的博客 2001

C++ 复习总结记录一

C 语言是结构和模块化的语言,适合处理较小规模的程序。对于复杂问题,需要高度抽象和建模时,C 则不合适。为了解决问题 20 世纪 80 年代, 计算机界提出 OOP ( object oriented programming 面向对象) 思想。1982 年 Bjarne Stroustrup 在 C 基础上引入并扩充了面向对象概念,为表达该语言与 C 渊源关系,命名为 C++

优质后端技术知识记录 1251

【C++入门第一课】命名空间、输入输出、缺省参数,函数重载

文章目录一 :命名空间1.1 命名空间的定义1.2 命名空间的使用二:C++输入输出三:缺省参数3.1 缺省参数的概念3.2 函数缺省分类四:函数重载4.1 函数重载概念 一 :命名空间 目的:使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字就是针对这种问题而出现的。 1.1 命名空间的定义 什么意思呢?如一下代码: int a = 0; int main(){ int a = 1; printf("%d\n", a); //printf("%d\n

qq_43727529的博客 1634

C++命名空间

c++入门

weixin_57604904的博客 266
上一篇: 智能家居4 -- 添加接收消息的初步处理
下一篇: C++ 复习2 输入输出 & 基本数据类型
mx_jun
博客等级 码龄5年 1605粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值