关于刷题路上的小知识点

刷题小知识点


1.C++中的 to_string()系列函数将数值转换成字符串形式。注意, 不支持C++ 11标准的编译器可能不支持to_string()

string to_string(int val);
string to_string(long val);
string to_string(long long val);
string to_string(unsigned val);
string to_string(unsigned long val);
string to_string(unsigned long long val);
string to_string(float val);
string to_string(double val);
string to_string(long double val);

2.c_str()返回一个C语言字符串的指针常量(即可读不可改变),内容与调用此方法的原字符串相同。使用场景:

char c[20]; 
string s="hello"; 
strcpy(c,s.c_str());

3.atoi()stoi()函数,把数字字符串转变为int输出,

  • atoi()的参数是const char *stoi()的参数是const string *;
  • stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtime error。
    例子:
#include <iostream>
#include <string>
using namespace std;
int main()

{

	string s1 = "214";
	string s2 = "11111111112222222222";

	cout << atoi(s1.c_str()) << endl;
	cout << stoi(s1) << endl;

	cout << atoi(s2.c_str()) << endl;
	cout << stoi(s2) << endl;

	return 0;

}

在这里插入图片描述
4.substr()方法用于字符串的截取。

  • 使用方法一:字符串.substr(参数1,参数2);
 示例:   var str="abcdefghijklmn";
         var res=str.substr(2,5);  //从下标为2开始,截取长度为5位
         结果为res:"cdefg"
         
         var str1="abcdefghijklmn";
         var res1=str1.substr(-5,2);  //从倒数第5个开始,截取长度为2位
         结果为res1:"jk"
  • 使用方法二:字符串.substr(参数);
示例:   var str="abcdefghijklmn";
         var res=str.substr(2);  //从下标为2开始,截取到尾部
         结果为res:"cdefghijklmn"
   
        var str1="abcdefghijklmn";
        var res1=str1.substr(-2);  //从倒数第2个开始,截取到尾部
         结果为res1:"mn"

5.emplace是C++11中加入的新特性,emplace_back能通过参数构造对象,不需要拷贝或者移动内存,相比push_back能更好地避免内存的拷贝与移动,使容器插入元素的性能得到进一步提升
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦妮敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值