返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中namespace与string关键字如何使用
  • 300
分享到

C++中namespace与string关键字如何使用

2023-06-30 16:06:46 300人浏览 安东尼
摘要

这篇文章主要讲解了“c++中namespace与string关键字如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中namespace与string关键字如何使用”吧!names

这篇文章主要讲解了“c++中namespace与string关键字如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中namespace与string关键字如何使用”吧!

namespace

首先声明:在C++中支持三种域局部域,名字空间,类域。

1.为什么使用namespace

在C++中可能会出现这样的情况:我们正在编写一个名为myj()函数的代码,但是另一个可用的库,它也具有相同的myj()函数。现在编译器无法知道代码中使用的myj()函数是哪个版本。

所以namespace就是用来克服这个困难,并被用作额外的信息来区分类似的函数、类、变量等等,它们在不同的库中具有相同的名称。使用名称空间,你可以定义定义名称的上下文。

本质上,名称空间定义了一个范围。

2.namespace的定义

  • 命名空间将全局作用域分成不同的部分

  • 不同命名空间中的标识符可以同名而不会发生冲突

  • 命名空间可以发生嵌套

  • 全局作用域也叫默认命名空间

举例说明:

//1.普通的命名空间namespace myj{int g _max = 10;int g_min = 0;int my_add(int a,int b){ return a+b;}}//2.名字空间域可分层嵌套,同样有分层屏蔽作用namespace Primer{double pi = 3.1415926535898;double my_add(double a,double b) {return a + b;}namespace Matrix{char my_max(char a,char b) { return a>b? a:b;}}}//3.同一个工程中允许存在多个相同名称的命名空间//编译器最后会合成同一个命名空间中。namespace myj{float pi = 3.14;int my_sub(int a,int b){my_min = a - b;return my_min;}}

3.namespace的使用

  • 加名字空间及作用域限定符

  • 使用using将名字空间中成员引入

  • 使用using namespace名字空间名称引入

#include <stdio.h>#include <iOStream>namespace First {int i = 0;}namespace Second{int i = 1; namespace Internal //嵌套命名空间{struct P  //嵌套命名空间{int x;int y;};}}int main(){using namespace First; //使用整个命名空间using Second::Internal::P;  //使用嵌套的命名空间 printf("First::i = %d\n", i);printf("Second::i = %d\n", Second::i);  //使用命名空间中的变量p = { 2, 3 };printf("p.x = %d\n", p.x);printf("p.y = %d\n", p.y);system("pause");return 0;}

4.使用using指示符

标准C++库中的所有组件都是在一个被称为std的名字空间中声明和定义的。在采用标准C++的平台上使用标准C++库中的组件,只要写一个using指示符:

using namespace std;

就可以直接使用标准C++库中的所有成员。

string

1.string的定义及初始化

定义string的方式跟基本数据类型相同,只需要在string后跟上变量名

string s;

初始化:

string str = "yyds";

2.访问string的内容

  • 通过下标访问,s[i]表示字符串s中下标位i的元素

如果要读入和输出整个字符串,则只能使用cin和cout

如果一定要用printf来输出string,可以用c_str()函数将string类型转换为字符数组进行输出。

printf("%s",str.c_str());
  • 通过迭代器访问

因为string不像其他STL容器那样需要参数,因此可以直接如下定义:

string::iterator it;

这样就得到了迭代器it,并且可以通过*it来访问string里的每一位

3.常用函数

operator+

连接两个字符串或者一个字符串和一个字符。

compare operator

两个string类型可以直接使用==、!=、<、<=、>、>=比较大小,比较规则是字典序。

length()/size()两者返回string的长度,即存放的字符数。

insert(pos,string)

在pos号位置插入字符串string

insert(it,it2,it3)

it为原字符串的欲插入位置,it2和it3为待插字符串的首位迭代器,用来表示串[it2,it3)将被插在it的位置上。

erase()

删除单个元素,str.erase(it)用于删除单个元素,it为需要删除的元素的迭代器。 删除一个区间内的所有元素。

clear()

用以清空string中的数据。

substr()

substr(pos,len)返回从pos号位开始、长度为len的字串。

string::npos

一个常数,其本身的值为-1,但由于是unsigned_int 类型,因此实际上也可以认为是unsigned_int类型的最大值4294967295。 string::npos用以作为find函数匹配时的返回值。

find()

str.find(str2),当str2是str的子串时,返回其在str中第一次出现的位置;如果str2不是str的子串,那么返回string::npos。 str.find(str2,pos),从str的pos号位开始匹配str2,返回值与上相同。

replace()

str.replace(pos,len,str2)把str从pos号位开始、长度为len的子串替换为str2 str.replace(it1,it2,str2)把str的迭代器[it1,it2)范围的字串替换为str2

assign()

str.assign(str.rbegin(),str.rend())可以实现字符串翻转。

感谢各位的阅读,以上就是“C++中namespace与string关键字如何使用”的内容了,经过本文的学习后,相信大家对C++中namespace与string关键字如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: C++中namespace与string关键字如何使用

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

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

猜你喜欢
  • C++中namespace与string关键字如何使用
    这篇文章主要讲解了“C++中namespace与string关键字如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中namespace与string关键字如何使用”吧!names...
    99+
    2023-06-30
  • C++深入讲解namespace与string关键字的使用
    目录namespace1.为什么使用namespace2.namespace的定义3.namespace的使用4.使用using指示符string1.string的定义及初始化2.访...
    99+
    2024-04-02
  • C++中new与deleted关键字如何使用
    今天小编给大家分享一下C++中new与deleted关键字如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。可执行程序的...
    99+
    2023-06-30
  • C# 中default关键字如何使用
    本篇文章给大家分享的是有关C# 中default关键字如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C# default关键字可在switch语句或泛型代码中使用。sw...
    99+
    2023-06-17
  • C++ 中如何使用static关键字
    C++ 中如何使用static关键字,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、静态全局变量在全局变量前,加上C++ static关键字,该变量就被定义成...
    99+
    2023-06-17
  • C++中如何使用 explicit关键字
    这期内容当中小编将会给大家带来有关C++中如何使用 explicit关键字,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有&...
    99+
    2023-06-17
  • final与static关键字如何在Java中使用
    本篇文章给大家分享的是有关final与static关键字如何在Java中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、final   &n...
    99+
    2023-05-31
    java static final
  • C++中auto关键字的使用
    前提引入 1.类型名,在绝大多数编程时,我们都会引入类型来定义一个我们需要的数据。 类型众多,偶尔我们会遇见一串类型名,使用起来无比复杂。存在拼写错误,含义不明确导致出错的问题。 列...
    99+
    2023-05-15
    C++ auto关键字 C++ auto
  • 如何使用PHP7的NameSpace和Use关键字组织代码的结构?
    如何使用PHP7的NameSpace和Use关键字组织代码的结构?引言:在软件开发中,代码的组织结构是非常重要的,它直接关系到代码的可读性、可维护性和可扩展性。随着PHP版本的不断迭代,PHP7引入了NameSpace和Use关键字,这为我...
    99+
    2023-10-22
    PHP NameSpace use
  • SQLite中Autoincrement关键字如何使用
    这篇文章给大家介绍SQLite中Autoincrement关键字如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。SQLite 的 AUTOINCREMENT 是一个关键字,用于表...
    99+
    2024-04-02
  • ES6中class关键字如何使用
    这篇文章将为大家详细讲解有关ES6中class关键字如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 、介绍   //...
    99+
    2024-04-02
  • CSS3中currentColor关键字如何使用
    本篇文章为大家展示了CSS3中currentColor关键字如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。场景1CSS Code复制内容到剪贴板<p&...
    99+
    2024-04-02
  • CSS中currentColor关键字如何使用
    这篇文章给大家介绍CSS中currentColor关键字如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、currentColor-真正大隐于市者实际上,之前“SVG图标颜色文...
    99+
    2024-04-02
  • VBS中如何使用Me关键字
    这篇文章将为大家详细讲解有关VBS中如何使用Me关键字,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。VBS 是一种很简单的脚本语言,正因为简单,所以仅仅支持面向对象的很小一部分特性。 其他面...
    99+
    2023-06-08
  • VBS中如何使用Default关键字
    今天就跟大家聊聊有关VBS中如何使用Default关键字,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。其实 MSDN 的 VBScript 文档中关于 Function 和 Sub ...
    99+
    2023-06-08
  • ASP.NET中static关键字如何使用
    ASP.NET中static关键字如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。静态变量当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对...
    99+
    2023-06-17
  • java中static关键字如何使用
    java中static关键字如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。public class Parent {  ...
    99+
    2023-06-20
  • PHP中final关键字如何使用
    今天就跟大家聊聊有关PHP中final关键字如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在PHP中类的继承是使用最多的一个编程特性,我们可以创建一个基类(父类)然后在这其中...
    99+
    2023-06-17
  • VB.NET中Patial关键字如何使用
    VB.NET中Patial关键字如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET Patial关键字允许您将很长的类分解成多个物理源文件。今天...
    99+
    2023-06-17
  • Java中如何使用final关键字
    Java中如何使用final关键字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 一.final关键字的基本用法  在Java中,final关键字可以用来修饰类、方法和变量...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作