1樓:
「應該怎麼學「,我覺得並沒有乙個適用於所有人的方法,因為每乙個人的精力,知識背景都不相同,最多不過是大家把自己學習c++的經歷分享出來,是否適合你,你要自己鑑別,不要一味模仿,浪費了自己寶貴的時間
結合自己的實際情況
2樓:
我補充一下關於字串格式化的問題,使用純C的話如果你需要知道確切的buf大小,可以使用vsnprintf預先計算一遍。vsnprintf在buf指標傳入NULL的時候不會寫入,而是單純的去計算格式化結果的字串長度(不含末尾'\0')。可以包裝成乙個這樣的東西:
char
*malloc_sprintf
(const
char
*format
,...)
但是既然都使用C++了為什麼不去用stringstream(或者C++20的format)?
3樓:xchg
只寫一些自己知道的。
1.char*t="test",這個表示式你覺得算合法嗎?
右邊是乙個const char*,左邊是char *,把常量指標賦值給變數指標?
//經網友的指正,這個表示式在c語言是合法的,c++中是不合法的,而且"test"的型別應該為const char[5]
2.因為有些語言有異常處理機制,至於要不要判斷返回值,因人而異吧,我是比較喜歡判斷的。
你這邊用的都是C風格API,也不關c++的事。
4.了解一下snprintf(C99) (GCC支援),sprintf_s(vs忘記了哪個版本開始支援的)。
int snprintf(char *str, size_t size, const char *format, ...)
當size引數為0時,返回值就是計算所需緩衝區長度(好像是不包括終止符的,忘記了)
反正大量的C庫函式,後來都有乙個安全的版本。
我覺得c的槽點算很少了,c++槽點多到不想說。
演算法到底應該怎麼學?
學習演算法 首先從數學開始 玩過ACM國際比賽 都知道比賽 都是數學基礎。學習演算法 重要 還是在於思路 解題思路 跟數學一樣。提問者出的題目 叫你解題。那麼演算法 出演算法作者 就是叫你解析他出這道演算法題目。比賽 也是一樣。我也不給你提供任何為什麼要從數學入手學習演算法 但我介紹 兩位數學家以及...
數學到底應該怎麼學?
小小老師 很多學生都在數學頭疼,數學對於他們來說簡直就是致命的弱點。那麼究竟怎樣才能學好高中數學呢?1 認真聽講 上課認真聽講,跟著老師的思路去思考,學習起來就會很容易,上課的時候一定要聚精會神,並且將一些有疑問的地方及時記錄下來。2 多多刷題 想要學好數學僅僅靠聽是遠遠不夠的,所以說除了認真聽課還...
高中歷史到底應該怎麼學
星橙 高中歷史無非那幾本書,第一肯定是要背的滾瓜爛熟的,特別是史實,年份,事件連在一起,自己做時間軸,把題目和答案連起來背,多用專業術語,到了高三做文綜試題的時候也就會輕鬆一點。當天知識當天背完,不要日積月累多到期末或者高三再來,那樣真的很累,老師總結的時候認真聽,那樣也方便複習,選擇題用排除法比較...