筆記 printf 不安全用法

2021-08-09 13:45:10 字數 369 閱讀 2865

clang提到了warning,printf("something")用法不安全

一般來說,printf家族成員的用法是

?printf?("%x",param)
用來打出param的值

printf(const char*)直接使用會不安全,由於其識別機制,如果內容中含有"%x",和printf定義的轉義相同,那麼其會轉而識別引數,發生錯誤。

因此,printf(const char*)的安全用法為:

printf("%s", const char*);
這樣才能保證無論const char* 中有何內容,可以打出。

執行緒不安全

背景 執行緒不安全 sleep 模擬網路延遲 後多執行緒併發訪問同乙個資源 方法1 同步 塊 語法 synchronized 同步鎖 catch interruptedexception e 方法2 同步方法 使用synchronizd修飾的方法,就叫同步方法,保證a執行緒執行該方法的時候,其他執行...

執行緒安全與不安全

list介面下面有兩個實現 乙個是arraylist 另外乙個是vector 從原始碼的角度來看 vector的方法前加了,synchronized 關鍵字,也就是同步的意思,sun公司希望vector是執行緒安全的,而希望arraylist是高效的,缺點就是另外的優點。在 items size 的...

執行緒安全 不安全

hashmap 執行緒不安全 可以用concurrenthashmap,arraylist也有concurrent hashtable 執行緒安全,給每個方法都加上了synchronnized關鍵字。和concurrenthashmap的區別是加鎖粒度不同,不是很懂。stringbuilder 執行...