string-view

    10熱度

    2回答

    我從新的C++ 17標準中發現string_view有點多餘。 我們有一個相當詳細的passing data to callee簡單機制的集合,沒有太多的開銷,現在又有另外一個只針對一個容器類型。 我不明白爲什麼提供這種機器只適用於字符串,而不是一些更通用的類型的其他容器。一個明智的答案是我們已經有了這些解決方案。例如在C++17 and beyond演示文稿中,string_view被解釋爲ob

    0熱度

    1回答

    我正在爲學習目的創建自己的字符串視圖類,並試圖使其100%constexpr。 爲了測試它,我有一個返回散列值的成員函數。然後,我在switch語句中構造我的字符串視圖,並調用該成員函數,如果它通過,則該成員函數已完全歸檔其目的。 要了解,我使用了/讀/比較我的實現與Visual Studio 2017年最新的更新std::string_view,但是,我注意到,儘管swap被標記爲constex

    14熱度

    1回答

    由於C++ 1z,我們有std::string_view,這是一個連續字符序列的輕量視圖,避免了不必要的數據複製。現在通常不推薦使用const std::string&參數,而是使用std::string_view。 然而,人們很快發現,從使用字符串連接const std::string&到std::string_view符碼開關,因爲是串聯std::string和std::string_view

    0熱度

    1回答

    我想在C++中以最快的方式拆分字符串。在這裏,我得到一個錯誤: #include <bitset> #include <iostream> #include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/classification.hpp> #include <boost/timer.hpp>

    2熱度

    1回答

    將std :: string解析爲boost :: string_view在我的my previous question中,有人建議我可以通過使用raw指令解析爲boost::string_view來提高我的boost::spirit::x3解析器的性能。 但是,我很難得到它編譯。 這是我發現: 之前,一個有專攻assign_to_attribute_from_iterators(見例如this

    0熱度

    1回答

    我玩弄的std :: string_view有不同的編譯器,發現每個編譯器打印出的initiliazing性病當不同尺寸:: string_view用非空終止的char數組。 似乎每個編譯器在打開優化時都打印出正確的大小,但在優化關閉時會打印出錯誤的大小(除了GCC,這兩種情況都會打印出正確的大小)。 我的問題是:爲什麼會出現這種情況? 代碼: // test.cpp #include <io

    3熱度

    2回答

    假設我有一個功能,得到const string&作爲它的輸入,例如: void foo(const string& s); 然後,我有一個內部的緩衝const char* buffer;我知道它的大小。 我想如果我創建的字符串內聯,還是一個副本會發生: foo(string(buffer, n)); 但也沒有必要複製的緩衝區,因爲所有的東西都是恆定的,我只需要串類的功能不是它創建的緩衝區。

    11熱度

    1回答

    以下代碼無法構建在最近的編譯器上(g ++ - 5.3,clang ++ - 3.7)。通過鐺返回 #include <map> #include <functional> #include <experimental/string_view> void f() { using namespace std; using namespace std::experimen