Time of Update: 2018-07-18
1 /* * 檔案名稱:exe1 * 作 者:張宇恒 * 完成日期:2016 年 3 月 10 日 * 版 本 號:v1.0 * 對任務及求解方法的描述部分: * 輸入描述:兩個整數a,b * 問題描述:求a,b兩數的和及差 * 程式輸出:a+b= ,a-b= , * 問題分析:略 *
Time of Update: 2018-07-18
1.字串操作安全 1.1 確保所有字串都是以NULL結束 C語言中以 '\0' 作為字串的結束符,即NULL結束符。 沒有正確使用NULL結束符會導致緩衝區溢位和其他未定義的行為。 為了避免緩衝區溢位,常常會用相對安全的限制字元數量的字串操作函數代替一些危險函數 - strncpy() 代替 strcpy() - strncat() 代替 strcat() - snprintf() 代替 sprintf() - fgets() 代替 gets()
Time of Update: 2018-07-18
之前看其他演算法和資料結構書的時候覺得堆排序的代碼比較難寫,今天看過《演算法導論》發現也不是那麼難,所以就動手自己寫了一個。原理就是根據演算法導論第三版堆排序虛擬碼而來的。 #include<iostream>using namespace std;const int ARRAY_SIZE=10;int a[ARRAY_SIZE]={4,1,3,2,16,9,10,14,8,7};//調整pos位置,使得pos和其直接左右孩子滿足大堆條件void
Time of Update: 2018-07-18
c++類定義的時候,假如只是聲明了,沒有定義,用new產生對象時,會提示找不到symbol的錯誤。 *** glibc detected *** free(): invalid pointer: 0x0000000000517966 *** 已放棄 重現方法: country= new char[MAXBUF]; if((index=strstr(country,"省"))!=NULL) {
Time of Update: 2018-07-18
一. cppcheck介紹 cppcheck 是一個靜態代碼檢查工具,支援c, c++ 代碼;作為編譯器的一種補充檢查,cppcheck對產品的原始碼執行嚴格的邏輯檢查。 執行的檢查包括: 1. 自動變數檢查 2. 數組的邊界檢查 3. class類檢查 4. 到期的函數,廢棄函數調用檢查
Time of Update: 2018-07-18
DLL也就是動態連結程式庫,使用DLL編程的好處大家應當都知道了吧,可是怎麼樣來作呢,今天我就來說說。 首先,你要確定你要匯出那些個函數,然後你就在你要匯出的函數名前加上下面一句話: // 輸出函數的首碼 #define DLL_EXPORT extern "C" __declspec( dllexport )
Time of Update: 2018-07-18
假設: 有這麼一個字串集合,"1","2","3",........."10000000", "40","20". 要求進行排序。 基本想法: 把字串轉化為數字,進行對比。 但是有一個問題:也許這個字串的長度超過了 普通整數的範圍了,怎麼辦。 有人說用 long long
Time of Update: 2018-07-18
對於 檔案的 讀寫, 當然是 文字檔 最好讀,最好寫,沒有 什麼檔案結構 需要考慮。 對於windows 下的 excel 等檔案 進行操作時就不是那麼容易了,大家可以搜搜 ,基本上都是都複雜的方式才能讀寫。 當然,這也不是我的的獨創,在某些CSDN 的角落 也有本文類似的表達,咱們不必較真。 關鍵: CSV
Time of Update: 2018-07-18
單例模式的多線程支援,可以分兩種類型。 1、懶漢模式 C++11要求編譯器保證內部靜態變數的執行緒安全性,可以不加鎖。但C++11以前,仍需要加鎖。 Lock/UnLock可以採用boost中的技術技術。 class CSingleton{private: CSingleton(){}public: static CSingleton* getInstance() { Lock(); // not needed after C++11
Time of Update: 2018-07-18
//UTF8轉化為GBK格式 void ConvertUtf8ToGBK(CString &strUtf8){ int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0); wchar_t * wszGBK = new wchar_t[len];
Time of Update: 2018-07-18
參考資料: http://apps.hi.baidu.com/share/detail/39003388 http://blog.csdn.net/yc0188/article/details/4741871 http://bbs.chinaunix.net/thread-2094334-1-1.html //標頭檔 #include <iostream> #include <string> #include <Winsock2.h>
Time of Update: 2018-07-18
A.h檔案 class A { public:void methodA(); ... }; B.h檔案 class B { public:void methodB(); ... } 現在是再類A中要調用類B中的方法,類B中有要調用類A中的方法。 實驗過的失敗方法: 方法1: A.h檔案 #include "B.h" class B; class A { private:B m_classB; public:void methodA(); ...
Time of Update: 2018-07-18
編號: QA003792 建立日期: 2001年1月18日 最後修改日期: 2005年8月22日 所屬類別: C/C++ - 其他方面
Time of Update: 2018-07-18
DELPHI / C++BUILDER XE2無論如何說不上流行,但有一些鐵杆使用者還在一直追隨著她,最近XE 2 UPDATE 2出來了,本想安裝後弄個XX,學習一把,出XX的人特地說了:“Note: Before patch is worked,please close your anti-virus program,because your anti-virus program maybe seem it as a virus and killed”。
Time of Update: 2018-07-18
談到這點上,我相信很多老師會覺得多看、多練就可以提高C語言水平。的確不假,我也是這麼過來的。但是學不好C語言我倒覺得問題並不是出在多看、多練上,而是出在願不願意去多看、多練上,也就是說有沒有把心真正放在C語言上。
Time of Update: 2018-07-18
#include<stdio.h>int main(void){ char str[6]="123456";int i=0,j=0;char temp[6];int num=0;for(i=0;i<str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9'){//為了保證是數字字串temp[j++]=str[i];}}i=0;while(i<j){num=num*10+temp[i]-'
Time of Update: 2018-07-18
指標是一個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的一個地址。 要搞清一個指標需要搞清指標的四方面的內容:指標的類型,指標所指向的 類型,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。讓我們分別說明。 先聲明幾個指標放著做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5)int*(*ptr)[4]; 指標的類型
Time of Update: 2018-07-18
通常對於普通函數來說,要訪問類的保護成員是不可能的,如果想這麼做那麼必須把類的成員都生命成為public(共用的),然而這做帶來的問題遍是任何外部函數都可以毫無約束的訪問它操作它,c++利用friend修飾符,可以讓一些你設定的函數能夠對這些保護資料進行操作,避免把類成員全部設定成public,最大限度的保護資料成員的安全。
Time of Update: 2018-07-18
內推,二面跪 一面: select & epoll兩種機制的具體實現 可以用兩個epoll監聽同一個描述符嗎,有事件發生時,怎麼工作 hash怎麼解決衝突 一致性hash 路由表的網段怎麼儲存、尋找 segment fault怎麼用gdb調試,兩個函數迴圈調用會怎樣 static的使用情境,在一個cpp中定義,在另一個cpp可以訪問嗎。static變數存放在哪裡 time_wait和close_wait 伺服器和用戶端都是怎麼工作的(從建立socket到工作的流程)
Time of Update: 2018-07-18
把以前寫的C++模板的應用心得發表出來。回想起當時在學習C++模板時的無助和恐懼,現在還心有餘悸,我分享出來我的心得,只希望別人少走彎路,其實它就這麼幾種用法,不需要害怕。 我總結了模板的四種使用方式,基本覆蓋了大部分的模板使用情境,瞭解了這四種方式,就可以在看其它代碼時理解別人為什麼會在這個地方用模板。 模板的四大情境 1.資料類型與演算法相分離的泛型程式設計 2.類型適配Traits 3.函數轉寄 4.元編程