Time of Update: 2018-07-26
函數調用大家都不陌生,調用者向被調用者傳遞一些參數,然後執行被調用者的代碼,最後被調用者向調用者返回結果。 對於 程式,編譯器會對其分配一段記憶體,在邏輯上可以分為程式碼片段,資料區段,堆,棧 程式碼片段:儲存程式文本,指令指標EIP就是指向程式碼片段,可讀可執行不可寫 資料區段:儲存初始化的全域變數和靜態變數,可讀可寫不可執行 BSS:未初始化的全域變數和靜態變數
Time of Update: 2018-07-26
1.在matlab中輸入命令: mbuild -setup 安裝編譯器。(注意點:選擇電腦上已有的VC/VS編譯器,並輸入相應的路徑) 2.在matlab中輸入命令: deploytool 進入該模式 3.按建立按鈕,選擇C++ Shared Library,進行工程的命名,並選擇路徑。然後Add Files,將要轉換的M檔案選擇好。最後,build the
Time of Update: 2018-07-26
C++中strcmp的標頭檔問題今天在寫程式時遇到的一個問題 #include <stdio.h> #include <string> using std::string; int main() { char str[STEL]; while (scanf("%s", str) && strcmp(str, "end")) { printf("%s
Time of Update: 2018-07-26
一個空類時,編譯器會預設產生建構函式,拷貝建構函式,賦值函數,解構函式 一個類如果重寫拷貝建構函式,那麼必須自訂一個建構函式。如下代碼會編譯出錯:error C2512: “B”: 沒有合適的預設建構函式可用class B{public: B(const B &b) { }};int main(void){ B b; getchar(); return 0;}修正為:class B{public: B() {} B(const B &
Time of Update: 2018-07-26
C++學期總結心得 通過一學期的C++學習,讓我收穫了很多,收穫的不僅僅是知識,是自我學習的能力的提高和對時間的把握。從這節課程的開始到這節課程的結束,我是從一開始不看視頻不看書只聽老師講——逐漸的開始通過視頻的學習來瞭解老師在課堂上所講的知識——直至完全接納了這種學習方法。有時也許會偷個小懶,但是我還是會緊跟老師課程的步伐學習。
Time of Update: 2018-07-26
之前的一個部落格(地址)總結了編譯連結的思路,這次就總結各種使用的模板。 (有時間慢慢增加吧) 純bash指令碼 這個是最簡單的模板,main.cpp裡面要用三方庫opencv的函數,然後直接編譯產生可執行檔main。 fname=main.cppopencv_include=/....../install/opencv2/includeopencv_lib=/....../install/opencv2/libg++ -o ${fname%.*} $debug $fname -
Time of Update: 2018-07-26
【c/c++】單鏈表、頭指標、頭結點、首元節點 轉載地址:http://blog.csdn.net/lzm18064126848/article/details/50819574 鏈表中第一個結點的儲存位置叫做頭指標,那麼整個鏈表的存取就必須是從頭指標開始進行了。之後的每一個結點,其實就是上一個的後繼指標指向的位置。 這裡有個地方要注意,就是對頭指標概念的理解,這個很重要。“鏈表中第一個結點的儲存位置叫做頭指標”,如果鏈表有頭結點,那麼頭指標就是指向頭結點資料域的指標。
Time of Update: 2018-07-26
長虹劍自己的一些經驗總結,具體請自行根據實際情況決定。 (未完且待細節補充 ) - 2016-10-25 補充了一個makefile模板 - 2016-10-27 補充了cmake及cmake產生nmake,整理了windows下有關編譯的目錄,有助於理解vs的x86和x64編譯過程。 - 2017-6-7 加入了一個gcc選項,關於庫的依賴順序 前言 無論在windows上還是linux上我們都遇到很多編譯連結的問題,如果對這些瞭解不透徹,那麼makefile這些都是寫不好的,
Time of Update: 2018-07-26
先來簡單說一說棧指標和幀指標。 棧指標就是用來儲存棧頂的地址,幀指標是用來儲存函數剛被調用時候的地址。 舉個例子: int add(int a,int b){ int c=a+b; return c; } 這是被調函數。 int x=add( 5,7); 這是主調函數的一個語句。 接下來是主調函數的反組譯碼代碼: 8048459: movl $0x7,0x4(
Time of Update: 2018-07-26
我這個和之前寫的模板用的是一個,這裡求了二叉樹的高度,寬度沒寫出來, 大家就勉強看一下吧 #include <iostream> #include <string> #include <queue> using namespace std; int maxWidth=2; typedef int KeyType; class BinSTree { public:
Time of Update: 2018-07-26
摘要: 一位程式員網友小保哥分享自己的UE4快速上手過程,只是筆記,52VR做了一點更加適合閱讀的修改,整理給大家。 首先,本文只是針對有比較熟練C++技能的程式員,他可以沒有任何圖形學或遊戲引擎方面的經驗知識。 其次,本文只是偏重工程方面的介紹,沒多少理論知識的介紹,目的純粹就是讓一個完全沒有接觸過UE4的C++程式員能夠很快著手開發UE程式。
Time of Update: 2018-07-26
C語言的字元集 C語言字元集由字母,數字,空格,標點和特殊字元組成。 1.字母 小寫字母a~z共26個 大寫字母A~Z共26個 2.數字 0~9共10個 3.空白符 空格符、定位字元、分行符號等統稱為空白符。空白符只在字元常量和字串常量中起作用。在其它地方出現時,只起間隔作用,編譯器對它們忽略不計。因此在程式中使用空白符與否,對程式的編譯不發生影響,但在程式中適當的地方使用空白符將增加程式的清晰性和可讀性。 4.標點和特殊字元 27
Time of Update: 2018-07-26
第一部分是C++的一些基本的知識,還沒有涉及成段的代碼,而且都是一些零散的知識點,第二部分,涉及了函數的知識,代碼涉及的知識點會多一點。 練習6.4:編寫一個與使用者互動的函數,要求使用者輸入一個數字,計算產生該數位階乘。在main函數中調用該函數。 程式實現: #include <iostream>using namespace std;int factorial(int i){ int factor = 1; if(i==0 || i==1)
Time of Update: 2018-07-26
上面一篇部落格我們已經介紹了基本的const,對於這篇部落格, 先說一下什麼是引用: 引用說白了就是為對象另外起了一個名字,參考型別引用另一種類型。 定義方式: 將聲明符寫成&d的形式來定義參考型別其中d是聲明的變數名, int size = 100;int &sum = size; 要注意的是: 我們在引用的時候必須要給引用賦值, 例如: int &size;
Time of Update: 2018-07-26
C++程式設計語言
Time of Update: 2018-07-26
前言 關於指標,我們首先要弄清楚四點:指標類型、指標指向類型、指標的值、指標指向的值。如果這一點不是很清楚,請參考這裡 網址:http://blog.csdn.net/hsd2012/article/details/50946407 當const修飾的是指標類型,那麼指標的值就不能改變,即不能指向其他地址,但是可以通過指標修改其指向地址裡面的值。 當const修飾時指標指向的類型時候,那麼指標被指向其他地址,但是不能通過指標修改指標裡面的值。 1
Time of Update: 2018-07-26
在C/C++開發中經常會用到const,這個修飾符。今天就討論一下它的作用。 (1) const用於定義常量:const定義的常量編譯器可以對其進行資料靜態型別安全檢查。這個是開發中經常用到的const的最基本的作用。 (2) const修飾函數形式參數:當輸入參數為使用者自訂類型和抽象資料類型的時候(就是自己定義的類),應該將“值傳遞”改為“const &傳遞”,可以提高效率。 比較下面兩段代碼: void fun(A a); void fun(A const
Time of Update: 2018-07-26
由於公司項目的需要,需要將採集器c++代碼在Red hat不同版本作業系統移植,出現了好多問題,所以寫此文來做一次全面的總結。 首先現介紹一些採集器的功能: 響應Server伺服器的請求; 維護訪問物理裝置的資訊; 使用snmp協議周期地訪問物理裝置,擷取需要地資料; 存入資料庫。
Time of Update: 2018-07-26
一、直接插入排序簡介 每次從無序表中取出第一個元素,把它插入到有序表的合適位置,使有序表仍然有序。 第一趟比較前兩個數,然後把第二個數按大小插入到有序表中; 第二趟把第三個資料與前兩個數從前向後掃描,把第三個數按大小插入到有序表中;依次進行下去,進行了(n-1)趟掃描以後就完成了整個排序過程。 二、C語言代碼實現 #include <stdio.h>/* 將兩個資料交換 */void swap(int* Ina , int* Inb){
Time of Update: 2018-07-26
在使用C++語言開發中,如果我們希望某一個對象在定義之後不被錯誤的修改,我們可以將這個對象聲明為const對象,這樣這個對象的資料成員就不可以被更改。 1.定義const對象 const 類名 對象名; 類名 const 對象名; 1)定義類對象時可以將其指定為const對象。定義後const對象不能再被修改; 2)const對象不能調用非const類型的成員函數。