struct segresultcontext
};
replace_all(remove_spaces(trim(text))), 巢狀著寫一起不行, 報錯, 換成三行來寫就ok了, 為什麼?
string rm_surplus_spaces
(const string &s)
string replace_all
(const string &s,
const string &old_value,
const string &new_value)
**塊的執行時長的測量方法, 利用std::chrono::high_resolution_clock, 單位為micro seconds (us) ,同時chrono類提供了不同時間單位的測量方法, 如ms, us, ns, s等
auto start_micro = std::chrono::high_resolution_clock::
now();
....code_block...
..auto ela_s1 = std::chrono::high_resolution_clock::
now();
long
long cost_s1 = std::chrono::duration_cast
(ela_s1-start_micro)
.count()
;cout <<
"cost in us : "
<<
to_string
(cost_s1)
<< endl;
如何正確讀取string中的每個字或字元? (當中英混合時, 每個字的長度, 有2-6個byte組成)
bool
read_by_word
(const std::string &input)
return
true
;}
對vector of 物件做, 基於某個成員變數做排序
struct person
;inline
void
sort_vector
(std::vector
&people));
}int
main()
; person p2
; person p3
; vector people;
people.
push_back
(p1)
; people.
push_back
(p2)
; people.
push_back
(p3)
;sort_vector
(people)
;for
(auto v : people)
}
正則, 完全匹配, 並列印每個group匹配到的值
string s =
;regex re
(".*?(收件人|聯絡人|姓名)[\\s,:]+([^\\s,:])[\\s,]*(手機|**|號碼|聯絡|\\d+|$).*?");
std::smatch what;
std::
regex_match
(s, what, re)
;for
(size_t i =
0; i < what.
size()
;++i)
//或取指定的第幾個group
if(std::
regex_match
(s, what, re)
)
正則, 列印所有滿足表示式的值, 即使用regex_search (分別舉例返回第乙個匹配值和返回每個匹配值)
void
test_regex_search()
//第一種條理更清晰的寫法
sregex_iterator it
(test_str.
begin()
, test_str.
end(
), r)
; sregex_iterator it_end;
while
(it != it_end)
//第二種相等的簡潔寫法
for(sregex_iterator it
(test_str.
begin()
, test_str.
end(
), r)
, it_end; it != it_end;
++it)
cout << it-
>
str(
)<< endl;
}
讀本地檔案
std::string file_in =
"test.txt"
;std::ifstream ifile
(file_in.
c_str()
);if(
!ifile.
is_open()
)std::string line;
while
(getline
(ifile, line)
)
利用picojson.h來解析json資料, picojson.h可以搜google或github, 直接拷貝過來即可
#include
"picojson.h"
intmain()
";map features;
picojson::value v;
std::string err;
parse
(v, query.
begin()
, query.
end(),
&err);if
(!err.
empty()
||!v.is()
)const picojson::value::object& obj = v.get()
;for
(picojson::value::object::const_iterator it = obj.
begin()
; it != obj.
end(
); it++
)}
to be continued…
委託(C 程式設計指南)
委託 c 程式設計指南 委託是一種引用方法的型別。一旦為委託分配了方法,委託將與該方法具有完全相同的行為。委託方法的使用可以像其他任何方法一樣,具有引數和返回值,如下面的示例所示 c public delegate int performcalculation int x,int y 與委託的簽名 ...
委託(C 程式設計指南)
委託 c 程式設計指南 委託是一種引用方法的型別。一旦為委託分配了方法,委託將與該方法具有完全相同的行為。委託方法的使用可以像其他任何方法一樣,具有引數和返回值,如下面的示例所示 c 複製 public delegate int performcalculation int x,int y 與委託的...
屬性(C 程式設計指南)
屬性是這樣的成員 它們提供靈活的機制來讀取 編寫或計算私有欄位的值。可以像使用公共資料成員一樣使用屬性,但實際上它們是稱為 訪問器 的特殊方法。這使得資料在可被輕鬆訪問的同時,仍能提供方法的安全性和靈活性。在本示例中,類 timeperiod 儲存了乙個時間段。類內部以秒為單位儲存時間,但提供乙個稱...