這裡記錄一些c 中string新特性的一些用法

2021-09-25 07:06:17 字數 3250 閱讀 8847

/這裡是string的使用方式

string one("lotty winner");

cout << one << endl;

string tow(20, '$');

cout << tow << endl;

string three(one);

cout << three << endl;

one += "hellow one";

cout << one << endl;

three[0] = 'p';

cout << three << endl;

string four;

four = one + tow;

cout << four << endl;

char alll = "all s well that ends well";

cout << alll << endl;

string five(alll, 10);

cout << five << endl;

string six(alll + 2, alll + 10);

cout << six << endl;

string seven(&five[6], &five[8]);

cout <<"seven: "<< seven << endl;

string eight(four, 7, 2);

cout << eight << endl;

///使用初始化列表的方式

initializer_listpontchar = ;

string charstr(pontchar);

cout << charstr << endl;

for (auto itm : charstr)

這裡看一下使用初始化列表的類.

//這裡看乙個使用初始化列表的類.

class autoptr

void showdata()

cout << endl;

}private:

int number;

char* strname;

std::initializer_listlistp;

};//使用方式.

autoptr tmep;

tmep.showdata();

這裡看一下智慧型感知型別   decltype 

char  te1 = 0;

decltype(te1) te2 =12 ;

cout << te2 << endl;

//測試一下引用.

const int k = 11;

decltype(k*2) k2 = k;

cout <<"k+1: "<< k2 << endl;

這裡再開一下指標的使用情況

//測試一下指標.

const int* ptrk = &k;

decltype(ptrk) ptrk2 = ptrk;

cout << *ptrk2 << endl;

//常量指標和指標常量.

int a = 10;

int b = 12;

constmethod(&a,&b);

cout << "a: " << a << " b: " << b << endl;

//又回到了原始的總結,要想在某乙個函式裡面,達到修改數值的目的,必須要做到

//存在差級.....

int* k222 = &a;

constmethod2(&k222, &b);

cout << "a: " << a << " b: " << b << endl;

#pragma endregion

#pragma region 函式模板的問題.

auto tt =eff(10, 20);

cout << "型別.tt: " << tt << endl;

#pragma endregion

這裡看一下array 

initializer_listlistsi;

for (auto & tek : listsi)

cout << endl;

vectorvecint = ;

for (auto &veck : vecint)

cout << endl;

arrayartemp = ;

for (auto art : artemp)

cout << endl;

cout << "first element: " << get<0>(artemp) << endl;

for (int i = 0; i < artemp.max_size(); i++)

cout << endl;

std::arraymyarray = ;

std::tuplemytuple(10, 20, 30);

std::tuple_element<0, decltype(myarray)>::type myelement; // int myelement

myelement = std::get<2>(myarray);

std::get<2>(myarray) = std::get<0>(myarray);

std::get<0>(myarray) = myelement;

std::cout << "first element in myarray: " << std::get<0>(myarray) << "\n";

std::cout << "first element in mytuple: " << std::get<0>(mytuple) << "\n";

cout << endl;

這裡看一下 truple 元組和 decltype 組合使用的問題

#pragma region 元組

auto tup1 = std::make_tuple("first", "second", 23, 't', 355);

for (int ik =0;ik< tuple_size::value;ik++)

cout << endl;

auto tup2 = std::forward_as_tuple(1, "3344");

cout << get<1>(tup2) << endl;

#pragma endregion

選了這裡記錄一些碎片

雖然沒發過聲。但接觸這個 倒是很久了。抄作業查答案。牆裡來的姑娘它讀不懂英文呀。簡單說兩句就算開篇了。我是乙個正在掉頭髮的程式設計師。接觸這行,要從小學不會扔火球的馬里奧說起。那個是乙個夏天,好了下一段。吃這碗飯10年左右了。感謝兄弟姐妹的幫襯,混的比較慘。主營那個被吹了一萬年的c 還是嵌入式的。有...

C 中的string的一些用法

1 string與字元陣列轉換 const char c string s 1234 c s.c str 2 char轉化為string char c a string s 1 c 3 擷取子串 std string str helloworld std string str2 str.substr...

PHP中String一些用法

1.利用索引選字 js中字串可以利用str.charat 索引 選取字串的某個字。php中則是使用 str 索引 或者 str.僅對非中文本元 2.型別轉換 判斷裡,字元只有是 空字串的時候為false,空格是true,false 也是true.反過來true轉換成字串strval false 是空...