欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++ 獲取數字字符串的子串數值性能示例分析

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

題引

c++ 獲取數字字符串的子串數值,比如給定字符串"123456",要獲取第三位和第四位的數值,這里是34。

方法

1.使用substr

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

2.構造字符數組

直接使用索引獲取字符,構建字符數組,再使用atoi()轉換為數字

代碼

#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í)行結果

結論

使用字符直接構造,性能是substr的十倍左右

以上就是c++ 獲取數字字符串的子串數值性能示例分析的詳細內容,更多關于c++ 數字字符串子串獲取的資料請關注腳本之家其它相關文章!

相關文章

  • C++實現四則運算器(無括號)

    C++實現四則運算器(無括號)

    這篇文章主要為大家詳細介紹了C++實現四則運算器,無括號的計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 淺談Qt信號與槽的各種連接方式

    淺談Qt信號與槽的各種連接方式

    信號和槽是Qt特有的信息傳輸機制,本文主要介紹了淺談Qt信號與槽的各種連接方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C語言入門之指針用法教程

    C語言入門之指針用法教程

    這篇文章主要介紹了C語言入門之指針用法教程,主要對C語言中指針的本質及常見用法做了較為通俗易懂的分析,是后續(xù)深入學習C語言的基礎,需要的朋友可以參考下
    2014-09-09
  • C語言詳細分析講解內存管理malloc realloc free calloc函數的使用

    C語言詳細分析講解內存管理malloc realloc free calloc函數的使用

    C語言內存管理相關的函數主要有realloc、calloc、malloc、free等,下面這篇文章主要給大家介紹了關于C語言內存管理realloc、calloc、malloc、free函數的相關資料,需要的朋友可以參考下
    2022-05-05
  • Qt實現可以計算大數的簡單計算器

    Qt實現可以計算大數的簡單計算器

    計算器是我們生活中很常見的東西,它可以由多種語言多種方式來實現。本文主要介紹的是基于C++語言,由QT實現的可以計算大數的簡單計算器,需要的可以參考一下
    2022-12-12
  • C++ STL入門教程(3) deque雙向隊列使用方法

    C++ STL入門教程(3) deque雙向隊列使用方法

    這篇文章主要為大家詳細介紹了C++ STL入門教程第三篇,deque雙向隊列的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • vscode 配置 C/C++編譯環(huán)境(完整教程)

    vscode 配置 C/C++編譯環(huán)境(完整教程)

    這篇文章主要介紹了vscode 配置 C/C++編譯環(huán)境(完整教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • C語言中預處理命令的使用

    C語言中預處理命令的使用

    C語言預處理是編程中非常重要的一個環(huán)節(jié),通過預處理指令和預處理器的一些特性,本文主要介紹了C語言中預處理命令的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • VC6.0常用快捷鍵大全

    VC6.0常用快捷鍵大全

    這篇文章主要介紹了VC6.0常用快捷鍵大全,非常實用,需要的朋友可以參考下
    2014-08-08
  • C語言直接插入排序算法

    C語言直接插入排序算法

    大家好,本篇文章主要講的是C語言直接插入排序算法,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評論