Time of Update: 2018-12-04
從一個部落格的回複上看到的,學習之後加了注釋。原始碼來自csdn部落格。通過這段代碼學習到fgets實現從檔案中一行一行讀,fputs實現把每次讀到的內容原樣寫到一個檔案中,strstr尋找包含某個xxx內容的字串,feof判斷檔案末尾,#if #else
Time of Update: 2018-12-04
向量就像是盛放變長數組的花園,大約所有STL容器中有一半是基於向量的,如果你掌握了這個程式,你便差不多掌握了整個STL的一半了http://www.cppblog.com/yehongly/archive/2008/07/08/38224.html執行個體:http://www.cnblogs.com/yukaizhao/archive/2010/07/28/cpp-vector.html有待補充完善仿函數的應用:http://hi.baidu.com/0wingbinging/blog/ite
Time of Update: 2018-12-04
clock_gettime.c由glibc提供,在linux下的gcc及幾乎所有的編譯器或交叉編譯器都會包含glibc的庫。所以check_gettime函數可以在C/C++程式中調用,在用編譯器編譯的時候通常需要追加-lrt選項,因為check_gettime函數在librt.a庫中實現。關於glibc:glibc是gnu發布的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。/** Copyright (C) 1999, 2000,
Time of Update: 2018-12-04
在物件導向的語言中,大多引入了容器的概念。那麼什麼是容器?實質上就是一組相同類型對象的集合,但是它又不僅僅像數組那樣簡單,它實現了比數組更複雜的資料結構,當然也實現了比數組更強大的功能。C++標準模板庫裡提供了10種通用的容器類,它基本上可以解決程式中遇到的大多數問題。
Time of Update: 2018-12-04
vector ,deque 和
Time of Update: 2018-12-04
只是自己的一些總結:C++優點:速度快,較為底層,可以和c語言以及彙編混編提高效率;更加抽象,函數、類的編寫可以和類型無關,這就是c++模板的威力(STL)。Java優點:跨平台,因為它運行在JRE上;沒有指標記憶體管理更方便,有自動垃圾收集機制,顯得更為健壯;在web應用上有其獨特的優勢;庫是標準的,而c++一般都是第三方的;文法和上手都相對較快。
Time of Update: 2018-12-04
上面從整體上說明了資料結構的概念和分類,下面就具體的幾種常用的資料結構作以說明。線性表資料結構中最簡單最基本的結構是線性表。線性表是相同類型的資料元素的有限序列,資料元素之間具有循序關聯性。從資料的儲存結構上線性表可以分為順序表和鏈表兩類。順序表即是對線性結構使用順序儲存結構的方式,鏈表即是對線性結構使用鏈式儲存結構的方式。其兩者的特點就是邏輯的線性結構對不同儲存結構的實現。順序表是一組連續的儲存單元順序存放的線性資料元素,資料元素在記憶體的實體儲存體次序與他們線上性表中的邏輯次序是一致的。鏈表
Time of Update: 2018-12-04
#include <iostream>#include <string>using namespace std;//c語言實現strstrconst char* isSub(const char* str, const char *subs){//特殊情況if(!*subs)return str;const char* tmp=str;while (*tmp!='\0'){//用於每次將父串向後移動一個字元const char*
Time of Update: 2018-12-04
有了對資料結構的基本認識,那麼對進階語言所提出的容器的概念就很容易理解。下面我們就來瞭解一下C++標準模板庫(STL)提所供的10種通用容器。什麼是容器首先,我們必須理解一下什麼是容器,在C++中容器被定義為:在資料存放區上,有一種物件類型,它可以持有其它對象或指向其它對像的指標,這種物件類型就叫做容器。很簡單,容器就是儲存其它對象的對象,當然這是一個樸素的理解,這種“對象”還包含了一系列處理“其它對象”的方法,因為這些方法在程式的設計上會經常被用到,所以容器也體現了一個好處,就是“容器類是一種
Time of Update: 2018-12-04
首先free對應的是malloc;delete對應的是new;free用來釋放malloc出來動態記憶體,delete用來釋放new出來的動態記憶體空間。應用的區別為:1. 數組的時候int *p=(int*)malloc(10*sizeof(int)) 釋放的時候 free(p)即可;這是因為編譯器對malloc做了一些特殊的處理,以保證可以正確釋放記憶體。而當int *p=new int[10]釋放的時候應為delete []p,注意[]的作用說明釋放的是一個數組的記憶體,如果delete
Time of Update: 2018-12-04
http://www.bjtarena.com/danapeixunjishu/C__peixun/484.htmlhttp://blog.csdn.net/liux1990000/article/details/6052000在C++的世界中有這樣兩個概念,向上類型轉換,向下類型轉換,分別描述的是子類向基類和基類向子類的強制類型轉換。在向上類型轉換的過程中:使用指標和引用不會造成切割,而使用直接賦值會造成切割。在向下類型轉換的過程中:使用dynamic_cast進行向下強制類型轉換。使用此關鍵
Time of Update: 2018-12-04
http://my.oschina.net/alphajay/blog/5029?from=rss初看到這個題目,你可能會有些疑惑:C++類對象的建立還有什麼好說的,不就是調用建構函式嗎?實際上情況並不是想象中的那麼簡單,大量的細節被隱藏或者被忽略了,而這些細節又是解決一些其他問題的關鍵,所以我們很有必要深入到這塊"神秘"的地區,去探索鮮為人知的秘密。分配空間(Allocation)建立C++類對象的第一步就是為其分配記憶體空間。對於全域對象,靜態對象以及分配在棧地區內的對象,對它們的記憶體配置
Time of Update: 2018-12-04
//注意宏展開後就是一行字串,其中的注釋千萬不能使用//,這樣就會把後面的宏全部注釋//而是要必須使用/*comment*/來解決//並且不能像函數那樣使用,因為這隻是一個字串而已#define func(x) \if(x<10){ \x=x+'0'; \cout << hex << x << endl; \return x; /*這樣就直接return了在main中*/ \/*return x; //error!!!*/ \} else {
Time of Update: 2018-12-04
這次讀取的就是上一篇中的original檔案的每一行到一個整數數組中。 使用getline(預設吧斷行符號符endl作為行標記)分別把每一行讀入到一個字串數組,在這個字元數字最後加上/0構成一個字串; 使用strtok函數把每行組成的字串以空格為標記劃分多個單元返回為一個char*類型值pchTok; 然後把pchTok使用atoi轉化為int類型每個存入到一個整型數組的每個單元中sortArray[i]中;
Time of Update: 2018-12-04
今天搞清楚了如果使用C++擷取當前路徑,並且已擷取當前路徑為基礎,測試代碼如下,如果有注釋錯誤還請看到的高手指正,呵呵~~#include <iostream>#include <windows.h>#include <string>using namespace std;int main(){char buf[1000];int i=1000;GetCurrentDirectory(1000,buf);
Time of Update: 2018-12-04
Tool ---> Option ---> Projectc and Solutions ---> VC++ Directories在Include files加入python安裝目錄的include檔案所在路徑在Libraray files加入python安裝目錄的libs檔案夾所在路徑進入python的include目錄,尋找pyconfig。ifdef _DEBUG# pragma comment(lib,"python27_d.lib")# else#
Time of Update: 2018-12-04
一、類嵌套的疑問C++標頭檔重複包含實在是一個令人頭痛的問題,前一段時間在做一個簡單的資料結構示範程式的時候,不只一次的遇到這種問題。假設我們有兩個類A和B,分別定義在各自的有檔案A.h和B.h中,但是在A中要用到B,B中也要用到A,但是這樣的寫法當然是錯誤的:class B;class A{public:B b;};class B{public:A
Time of Update: 2018-12-04
求數組長度:sizeof(a)/sizeof(a[0])判斷數位位元:int cun(int n){ n=abs(n); // 加上這一句話,可以判斷負數了 if(n<10) return 1; return cun(n%10)+1;}10的n次方:#include <math.h>int n = 5;double x = pow(10.0, n);提取數的每一位元字:除以10取整(http://hi.baidu.com/fov425
Time of Update: 2018-12-04
請參考:http://www.gamedev.net/topic/475709-error-c3861-exit-identifier-not-found/question:No clue, it seems very wrong that exit would not work, but what do I know? I'm new to this. Here's the whole file. It's just a sample that I found and am trying
Time of Update: 2018-12-04
In C :#include <stdio.h>int main(){char a = 'a';printf("Size of char : %d\n",sizeof(a));printf("Size of char : %d\n",sizeof('a'));return 0;}Output :Size of char : 1Size of char : 4In C++ :#include <iostream>int main(){char a =