最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++ 獲取數(shù)字字符串的子串?dāng)?shù)值性能示例分析

 更新時間:2023年11月02日 11:49:44   作者:點墨  
這篇文章主要為大家介紹了c++ 獲取數(shù)字字符串的子串?dāng)?shù)值示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題引

c++ 獲取數(shù)字字符串的子串?dāng)?shù)值,比如給定字符串"123456",要獲取第三位和第四位的數(shù)值,這里是34。

方法

1.使用substr

使用substr截取字串,再使用c_str()獲取字符數(shù)組,再使用atoi()轉(zhuǎn)換為數(shù)字

2.構(gòu)造字符數(shù)組

直接使用索引獲取字符,構(gòu)建字符數(shù)組,再使用atoi()轉(zhuǎn)換為數(shù)字

代碼

#include <string>
#include <iostream>
#include <chrono>
using namespace std;
int main(int argc, char* argv[]) {
    string val = "123";
    int total = 1000000;
    std::chrono::time_point<std::chrono::system_clock> start = std::chrono::system_clock::now();
    for (int i = 0; i < total; i++) {
        int tmp = atoi(val.substr(1, 2).c_str());
    }
    std::chrono::time_point<std::chrono::system_clock> end = std::chrono::system_clock::now();
    std::chrono::microseconds diff = std::chrono::duration_cast<std::chrono::microseconds>(end - start);
    cout << "using substr:" << diff.count() << "ms" << endl;
    start = std::chrono::system_clock::now();
    for (int i = 0; i < total; i++) {
        char vals[2] = { val[1],val[2] };
        int tmp = atoi(vals);
    }
    end = std::chrono::system_clock::now();
    diff = std::chrono::duration_cast<std::chrono::microseconds>(end - start);
    cout << "using char[]:" << diff.count() << "ms" << endl;
    return 0;
}

執(zhí)行結(jié)果

結(jié)論

使用字符直接構(gòu)造,性能是substr的十倍左右

以上就是c++ 獲取數(shù)字字符串的子串?dāng)?shù)值性能示例分析的詳細內(nèi)容,更多關(guān)于c++ 數(shù)字字符串子串獲取的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

武汉市| 伊川县| 永德县| 和田县| 江孜县| 依兰县| 宁安市| 南乐县| 浪卡子县| 阿合奇县| 青岛市| 嘉善县| 灵宝市| 宁远县| 古田县| 通城县| 临泉县| 元江| 云林县| 巴中市| 襄城县| 石家庄市| 海门市| 龙陵县| 嵊州市| 开远市| 郎溪县| 永善县| 印江| 福安市| 黄平县| 固镇县| 安化县| 锦屏县| 苗栗市| 定南县| 汝城县| 凤庆县| 拉孜县| 西盟| 泾川县|