首页 > 编程语言 >C++的简单语法

C++的简单语法

时间:2023-10-16 21:11:06浏览次数:33  
标签:const cout int s1 C++ 语法 简单 main string

C++库里面的一些基础函数以及迭代器的使用:

迭代器:

首先,可以将迭代器简单地从方向和限制简单地分为四类:

1.正向

     

int main()
{
	string s1 = "hello";
	s1 += " ";
	s1 += "world";
	cout << s1 << endl;

	string::iterator it1 = s1.begin();//在这里,s1.begin()代表第一个元素
	while (it1 != s1.end()) //s1.end()//并不代表最后一个元素,而是最后一个元素后面的
	{
		cout << *it1++ << " ";
	}
	cout << endl;
	return 0;
}

 

2.反向 

int main()
{
    string s1 = "hello";
    s1 += " ";
    s1 += "world";
    cout << s1 << endl;

    string::reverse_iterator it2 = s1.rbegin();
    while (it2 != s1.rend())
    {
        cout << *it2++ << " ";
    }
    cout << endl;

    return 0;
}

相对于正向,在这里需要注意的是,反向除了需要添加reverse,还需要注意在begin和end之前加上r。

3.普通     

普通中包括以上的正向或反向

4.const

在这里需要注意的是,const类的只能读,不能写,要想修改值,则使用普通的即可·。

int main()
{
	string s1 = "hello";
	s1 += " ";
	s1 += "world";
	cout << s1 << endl;

	string::const_iterator it1 = s1.begin();
	while (it1 != s1.end())
	{
		cout << *it1++ << " ";
	}
	cout << endl;

	string::const_reverse_iterator it2 = s1.rbegin();
	while (it2 != s1.rend())
	{
		cout << *it2++ << " ";
	}
	cout << endl;
	
	return 0;
}

上面的const为正面,下面写的代码为const反向,即可实现逆序输出。

基础函数

对于字符串s,s.size()可以求出字符串的长度。s.reserve(100)为开一百个空间的内存。s.erase(2,10)为从2位置开始删除10个字符。如果字符串结束,则不再执行。

标签:const,cout,int,s1,C++,语法,简单,main,string
From: https://www.cnblogs.com/aj58/p/17768362.html

相关文章

  • linux c++程序使用MD5
    为避免找到的开源md5算法有坑,一般直接用openssl自带的MD5相关函数实现;一般系统已默认安装openssl,没装的话直接指令安装ubuntusudoapt-getinstalllibssl-devcentossudodnfinstallopenssl-devel示例代码#include<openssl/md5.h>unsignedcharmd5[MD5_DIGEST_LENGT......
  • 查询篇 JOIN语法
    JOIN语法讲解在MySQL中,JOIN是用于将两个或多个表中的行基于相关列的值进行连接的操作。这里将介绍几种常见的JOIN类型及其语法。内连接(INNERJOIN):返回两个表中匹配的行。SELECT列名FROM表1INNERJOIN表2ON表1.列=表2.列;左连接(LEFTJOIN):返回左表中的所有行,......
  • redis集群的简单应用
    1、创建集群#创建redis示例dockerrun-d--nameredis-node-1--nethost--privileged=true-v/data/redis/share/redis-node-1:/dataredis:6.0.8--cluster-enabledyes--appendonlyyes--port6381dockerrun-d--nameredis-node-2--nethost--privileged=tru......
  • 警惕 C++ 中的隐式类型转换
    今天文章的主题灵感来自客户的一个问题:我在研究一个代码中的栈溢出问题。为了减小栈帧的大小,我尽可能多地删除了局部变量,但仍有很多栈空间无法解释。除了局部变量、参数、保存的寄存器和返回地址之外,栈上还有什么其他的东西呢?我的回答是,嗯,还有结构化(SEH)的异常处理信息,但这通常不......
  • [Vue]模板语法和MVVM
    模板语法分为:①插值语法、②指令语法插值语法{{xxx}}指令语法v-bind:attr='xxx' 注意v-bind:只是一种指令,指令可以有很多种。v-bind:可以简写为:<body><divid="root"><h1>插值语法</h1><h3>{{name}}</h3><hr/&g......
  • BitBake使用攻略--BitBake的语法知识二(转载自https://www.cnblogs.com/chegxy/archive
    目录写在前面1.BitBake中的任务2.任务配置2.1依赖2.1.1内部任务间的依赖2.1.2不同菜谱下的任务间依赖2.1.3运行时态下的依赖2.1.4递归依赖2.1.5任务间的依赖2.2事件2.3校验和3.ClassExtensionMechanism 写在前面这是《BitBake使用攻略》系......
  • Qt/C++编写物联网组件/支持modbus/rtu/tcp/udp/websocket/mqtt/多线程采集
    一、功能特点支持多种协议,包括Modbus_Rtu_Com/Modbus_Rtu_Tcp/Modbus_Rtu_Udp/Modbus_Rtu_Web/Modbus_Tcp/Modbus_Udp/Modbus_Web等,其中web指websocket。支持多种采集通讯方式,包括串口和网络等,可自由拓展其他方式。自定义采集间隔(精确到毫秒)和超时次数,超时后自动将离线的文件......
  • UE4 C++关联蓝图界面(仅显示)
    使用的自带第三人称c++模板,UE4.27实现教程参考:UE5虚幻引擎C++【第六期】实现UMG控件_哔哩哔哩_bilibili1.创建一个蓝图界面控件,设置好布局2.找到项目代码xx(项目名称).build.cs文件1)添加UMG及后续部分,使得可以调用蓝图模块相关内容PublicDependencyModuleNames.AddRange(news......
  • Kubernetes 网络简单介绍
    后续会详细展示其原理并验证下,这里先汇总下,水平比较有限。Kubernetes网络模型Kubernetes使用一个称为CNI(ContainerNetworkInterface)的接口标准,使其网络实现与具体的网络插件解耦。Kubernetes网络模型有以下几个重要的原则:所有Pod都在一个扁平的共享网络中:每个Pod都有一个......
  • VSCode 配置C++环境
    MinGW肯定要装的。复制json这篇就够了,但终端会闪掉:VsCode安装和配置c/c++环境(超完整,小白专用)_vscodec++环境-CSDN博客这篇文章配终端:VSCode中C/CPP的完美配置(完成环境搭建、解决终端自动闪退、解决无法调试)-知乎(zhihu.com)......