Time of Update: 2018-07-18
原文地址:http://see.xidian.edu.cn/cpp/html/476.html 一、指標數組和數組指標的記憶體布局
Time of Update: 2018-07-18
pair<T1,T2>P1; pair<T1,T2>p1(v1,v2);//v1為T1類型,v2為T2類型 make_pair(v1,v2);//返回一個pair對象 p.first; p.second; 關聯容器不能通過容器大小定義,不能用resize。 map<k,v>m(m2); map<k,v>m; map<k,v>m(b,e); //b,e為map迭代器。 鍵必須支援<。 map&
Time of Update: 2018-07-18
順序容器:vector deque list 適配器:根據原始容器類型所提供的操作,通過定義新的操作介面,適應基礎的容器類型。 容器元素初始化: C<T> c; //預設建構函式 C<T>c(n); //n個值初始化,只適用於順序容器,必須給出預設建構函式 &
Time of Update: 2018-07-18
如果函數返回指標,則要小心了,最好要將其變為智能指標比如 int* ->shared_ptr<int>,並且在函數內部還可以改智能指標的刪除器。即當引用計數為0時的舉動,能夠為函數或函數對象 。比如shared_ptr<int> ptr(int* a,f) //f 為刪除器。 傳回值謹慎用by-reference 參數傳遞盡量用by reference 能夠用non-member函數實現盡量用,因為封裝性。
Time of Update: 2018-07-18
virtual函數:介面必須被繼承。 non-virtual:介面和實現都被繼承。 public繼承情況:Liskov Substitution Principle Base能用的地方都能用Derived代替。 如函數參數用point或reference傳遞對象。 public繼承的關鍵:is-a模型。 derived-class的名稱會遮掩Base-class的名稱。 例:class Base { public: virtual void mf1()=0;
Time of Update: 2018-07-18
在STL中基本容器有: string、vector、list、deque、set、map set 和map都是無序的儲存元素,只能通過它提供的介面對裡面的元素進行訪問 set:集合, 用來判斷某一個元素是不是在一個組裡面,使用的比較少 map:映射,相當於字典,把一個值對應成另一個值,如果想建立字典的話使用它好了 string、vector、list、deque、set 是有序容器 1.string string
Time of Update: 2018-07-18
#include <assert.h>#include <string.h>#include <stack>////////////////////////////////////////////////////////////////////////// // C++ 經典面試演算法題 [7/28/2016 FreeAngel] //1.實現strcpy. char* MyStrCpy( char *pDest, const char *pSrc )
Time of Update: 2018-07-18
C++ 虛函數表解析 原文連結:http://blog.csdn.net/haoel 前言
Time of Update: 2018-07-18
1.#include <dos.h> 2.#include <graphics.h> 3.#include <math.h> 4./*玫瑰花*/ 5.#define FNX(x) (int)(xo+(x)*1.0) 6.#define FNY(y) (int)(getmaxy()-(yo+(y)*1.0)) 7.#define FNX2(phi) cos(phi)*
Time of Update: 2018-07-18
今天使用Carbide v2.0嚮導建立了第一個Basic Console Application——HelloWorld,不得不佩服現在工具的智能化,一句代碼不用添加,一個可啟動並執行項目已經呈現在了眼前。於是,就直接使用Project-->Build Project,這是就遇到了錯誤: BLDMAKE ERROR: Directory "/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/" does not exist
Time of Update: 2018-07-18
C++應用實戰項目:大並發高效能可伸縮伺服器設計及開發(Http伺服器、銀行儲蓄系統樣本) 適合人群:初級 課時數量:49課時 用到技術:C++、伺服器端技術 涉及項目:http伺服器、銀行儲蓄系統 諮詢qq:1840215592 《大並發伺服器開發》目錄列表如下: 01.大並發伺服器架構介紹 02.大型網站架構演變過程 03.poll(一) 04.poll(二) 05.epoll(一) 06.epoll(二) 07.
Time of Update: 2018-07-18
國內首部大型C++網路遊戲開發教程(300+課時,MINI快跑、水果忍者、DirectX技術、傳奇遊戲3) 課程講師:今夜有風 課程分類:遊戲開發 適合人群:初級 課時數量:343課時 用到技術:C++ 涉及項目:MINI快跑、水果忍者、DirectX技術、傳奇遊戲3諮詢qq:1840215592 遊戲開發 目前70%以上的網路遊戲都是基於C++開發的,掌握C++已經成為遊戲開發的基本要求。作業系統及搜尋引擎
Time of Update: 2018-07-18
轉載:https://www.jianshu.com/p/b7ffe79498be 什麼是RAII。 RAII是Resource Acquisition Is Initialization(wiki上面翻譯成 “資源擷取就是初始化”)的簡稱,是C++語言的一種管理資源、避免泄漏的慣用法。利用的就是C++構造的對象最終會被銷毀的原則。RAII的做法是使用一個對象,在其構造時擷取對應的資源,在對象生命期內控制對資源的訪問,使之始終保持有效,最後在對象析構的時候,釋放構造時擷取的資源。
Time of Update: 2018-07-18
值傳遞和引用傳遞 值傳遞 當實參的值被拷貝給形參時,實參和形參是兩個獨立的變數,我們說實參被值傳遞或者函數被傳值調用。 - 普通形參 形參與實參獨立,對形參的改變不會影響實參。 int i = 0; void change(int z) { z = 43; //i的值仍為0 } change(i); 上述代碼執行完畢後i的值仍是0; - 指標形參
Time of Update: 2018-07-18
linux c/c++按規則擷取網卡ip 輸出項目到雲或者輸出給外部客戶,會遇到伺服器多網卡多ip的情形,如果有多個應用都需要這個主機ip,而且多應用需要擷取相同的ip,此時可以約定一種規則來擷取相同的ip,比如: 獲得所有網卡名,然後對網卡名按從小到大排序,尋找最小的網卡名對應非local的ip,這樣每個應用都使用這種規則,就會擷取到相同的ip了,而且這種思路不受多種語言所限制。 詳細代碼如下: #include <iostream>#include
Time of Update: 2018-07-18
後台線程和前麵線程的最大區別在於,後台線程不會阻止進程中止,,當屬於某個進程的所有前台線程都中止了,,,,公用語言運行庫就會結束該進程,所有剩餘後台線程都會停止且不會完成。 下面為示範代碼 using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace ConsoleApplication1 { class
Time of Update: 2018-07-18
例子1: #include <stdio.h> int main(){ float arr[5] = {12.5, 10.0, 13.5, 90.5, 0.5}; float *ptr1 = &arr[0]; // ptr1 is 925601136 float *ptr2 = ptr1 + 3;// ptr2 is 925601148 printf("%f ", *ptr2);//90.500000
Time of Update: 2018-07-18
關於大端模式與小端模式,這篇文章講的很清楚:http://blog.csdn.net/ce123_zhouwei/article/details/6971544 什麼是大端和小端 Big-Endian和Little-Endian的定義如下: 1) Little-Endian就是低位位元組排放在記憶體的低地址端,高位位元組排放在記憶體的高地址端。 2) Big-Endian就是高位位元組排放在記憶體的低地址端,低位位元組排放在記憶體的高地址端。 舉一個例子,比如數字0x12
Time of Update: 2018-07-18
代碼1: #include <stdio.h>int main() {char *str = "GeeksQuiz";char str1[] = "GeeksQuiz";char str2[] = { 'G', 'e', 'e', 'k', 's', 'Q', 'u', 'i', 'z' };int n = sizeof(str) / sizeof(str[0]); //4, str是一個指標int n1 = sizeof(str1)
Time of Update: 2018-07-18
原文地址:http://blog.csdn.net/21aspnet/article/details/6729724 文章最後本人做了一幅圖,一看就明白了,這個問題網上講的不少,但是都沒有把問題說透。 一、概念 對齊跟資料在記憶體中的位置有關。如果一個變數的記憶體位址正好位於它長度的整數倍,他就被稱做自然對齊。比如在32位cpu下,假設一個整型變數的地址為0x00000004,那它就是自然對齊的。 二、為什麼要位元組對齊