Time of Update: 2015-03-30
標籤:因為本人主要從事c#開發,但是在工作中經常需要用到c++編寫的DLL,因此需要知道c++中的類型與c#中的類型是如何轉換的。搜集整理如下。 //C++中的DLL函數原型為 //extern "C" __declspec(dllexport) bool 方法名一(const char* 變數名1, unsigned char* 變數名2) //extern "C" __declspec(dllexport) bool
Time of Update: 2015-03-30
標籤:#include <direct.h>#include <stdlib.h>#include <stdio.h>int main( void ){ if( _mkdir( "\\testtmp" ) == 0 ) { printf( "Directory ‘\\testtmp‘ was successfully created\n" ); system( "dir \\testtmp" ); if(
Time of Update: 2015-03-30
標籤:指標:很多人 都知道 指標是儲存變數的地址,有時候想想還是挺迷惑的。數組:數組名實際就是一個地址,指向數組的首地址。疑問1 那麼我如何使用指標來運算元組呢?int main(){int arr[3]={3,5,9};int *ptr1[3] = {nullptr};int (*ptr2)[3] = &arr;//ok*ptr1 = &arr[0];//ok//*ptr1 = &arr//errorfor(int i=0;
Time of Update: 2015-03-30
標籤:ndk error unknown type name class 在進行native開發的時候,難免會遇到C檔案包含C++標頭檔而調用C++函數,若沒做什麼處理,直接include進行編譯的話,會遇到以下錯誤:error: unknown type name ‘class‘error: expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘_
Time of Update: 2015-03-30
標籤:什麼是RTTIRTTI(Run Time Type Identify)運行時類型檢查。就是在運行時知道對象的類型。實現RTTI的方式(1)typeid函數typeid(obj).name()返回對象的類型名稱。(2)dynamic_cast操作符dynamic_cast可以知道是否可以安全地將對象的地址賦給特定類型的指標。如果轉換失敗,返回null
Time of Update: 2015-03-30
標籤:思路使用迴圈使整數左移i位,並取最高位,如果當前最高位為1則值為‘1‘,否則為‘0‘。這樣拼接出一個字串。注意:電腦中儲存的是數位補碼。關於正、負數的原碼、反碼、補碼。正數:原碼、反碼、補碼都一樣。 負數:反碼(除了最高位,其它位取反)補碼(反碼+1) 為什麼要儲存補碼,而不是原碼?為了統一運算方法。使用補碼對有符號整數進行加、減不需要關心符號位。 例如:1 + (-2) = -1 -2的原碼 1000 000
Time of Update: 2015-03-30
標籤:C++定義了一組內建類型對象之間的轉換標準,在必要的時候它們被編譯器隱式的轉換1、混合運算的算術運算式中,最寬的資料類型成為目標轉換類型2、不同類型的運算式之間賦值的時候,被賦值的物件類型成為目標轉換類型3、函數調用實參和形參類型不一致的時候,形參的物件類型成為目標轉換類型4、函數的傳回值類型和函數運算式的類型不一樣的時候,函數運算式的類型成為目標轉換類型注意:算術運算中兩個通用的的指導準則如下(1)為了防止精度損失,類型總是被提升為較寬的類型。(2)所有含有小於整型的有序類型的算術運算式
Time of Update: 2015-03-30
標籤:二維數組做函數參數的形式主要有:/對於一個m行n列int元素的二維數組//函數f的形參形式f(int daytab[m][n]) {...}//以下兩種可以忽略行數f(int daytab[][n]) {...}f(int (*daytab)[n]) {...}這裡都不能忽略第二維的大小。主要 原因是二維數組在棧內分配的記憶體是連續的,它的每一行都有相同的元素,這樣,array[i][j] 和 *(*(array +i)
Time of Update: 2015-03-30
標籤:sort是c++ STL中提供的一個函數模板,可以用來對多種類型進行排序。預設是升序排序。它有兩種使用方法:default (1)template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last);custom (2)template <class RandomAccessIterator, class Compare>
Time of Update: 2015-03-30
標籤:聲明:本文轉載自Penguin的部落格 http://blog.sina.com.cn/s/blog_779cf3410101389s.html1,set的含義是集合,它是一個有序的容器,裡面的元素都是排序好的,支援插入,刪除,尋找等操作,就 像一個集合一樣。所有的操作的都是嚴格在logn時間之內完成,效率非常高。 set和multiset的區別是:set插入的元素不能相同,但是multiset可以相同。建立 multiset<ss> base;刪除:如果刪除元素a,
Time of Update: 2015-03-30
標籤:物件導向編程 設計模式 開發人員 From:http://blog.csdn.net/is2120/article/details/44317241下面是轉載的在部落格上看到的一個C++書籍閱讀清單,可以參考下: 階段 1 《Essential C++》
Time of Update: 2015-03-30
標籤:c++ 模板 c++ 泛型 模板與泛型 泛型 模板 C++模板泛型程式設計就是以獨立於任何特定類型的方式編寫代碼,而模板是泛型程式設計的基礎。(1)定義函數模板(function template)函數模板是一個獨立於類型的函數,可以產生函數的特定類型版本。// implement strcmp-like
Time of Update: 2015-03-30
標籤:練習1.17 :編寫程式, 要求使用者輸入一組數. 輸出資訊說明其中有多少個負數.下面的代碼並不完美, 因為只能輸入20個以內的數, 等以後找到解決辦法再修改吧. 1 #include <iostream> 2 3 using namespace std; 4 5 int main() 7 { 8 int array[20] = {0}; 9 int n;10 cout << "請輸入數位個數: " << endl;11
Time of Update: 2015-03-30
標籤:一、程式設計語言分類 1、機器語言 是用二進位代碼0和1表示的電腦能直接識別和執行的一種機器指令的集合,這種指令集,稱為機器碼。 2、組合語言 亦稱為符號語言,是用助記符(Mnemonics)代替機器指令的作業碼,用地址符號(Symbol)或標號(Label)代替指令或運算元的地址。 3、進階語言 主要是相對於組合語言而言的,它是較接近自然語言和數學公式的編程,基本脫離了機器的硬體系統,用人們更易理解的方式編寫程式。編寫的程式稱之為來源程式。 進階語言又分為兩
Time of Update: 2015-03-30
標籤:高手掠過!僅僅是整理一下自動屬性: C#自動屬性可以避免原來這樣我們手工聲明一個私人成員變數以及編寫get/set邏輯代碼如下//Demo: public class User { public int Id { get; set; }
Time of Update: 2015-03-30
標籤:一、與生活中的類一樣 ,程式中的類描述了一種對象,定義一個完整的類,需要包括欄位、屬性、方法、建構函式和解構函式(解構函式在程式編譯時間自動產生,可以不必自己寫)。定義類的方法和欄位時,要通過存取修飾詞來修飾類和類成員的存取權限。public為公用訪問,可以有任何其他類成員訪問。private為私人訪問,只在定義它的類中訪問。protect為受保護訪問,可以在類內部和以該類為基類的衍生類別中訪問。internal為內部訪問,只有在同一程式集中的檔案中,內部成員才能被訪問。eg:u
Time of Update: 2015-03-30
標籤:學習C語言後,在學習C#會有一個很不適應的小毛病。那就是在C語言裡面你可以在一行輸入好幾個數字或是字母然後分別賦給相應的變數。可是在C#裡面就不一樣了,它只能讀取一行。要實現一個一個變數賦值那就只有一行輸一個。這豈不是很不方便。於是我做了一些嘗試。下面就來分享一下。首先還是來簡單的一行輸入一個: int a1; a1=System.Console.Read();
Time of Update: 2015-03-30
標籤:1.Scala的類層級Scala裡類的頂端是Any所有的類都繼承Any類,Any包括以下幾個通用方法:final def ==(that: Any): Boolean final def !=(that: Any): Boolean def equals(that: Any): Boolean def hashCode: Int def toString:
Time of Update: 2015-03-30
標籤:實值型別 參考型別 變數 C#中的類型有兩種:實值型別(Value Type)和參考型別(Reference Type)。實值型別的變數直接包含它們的資料,而參考型別的變數儲存對它們的資料的引用,後者稱為對象。對於參考型別,兩個變數可能引用同一個對象,因此對一個變數的操作可能影響另一個變數所引用的對象。對於實值型別,每個變數都有它們自己資料的副本(除ref和out參數變數外),因此對一個變數的操作不可能影響另一個變數。 &
Time of Update: 2015-03-30
標籤:實值型別 參考型別 變數 C#中的類型有兩種:實值型別(Value Type)和參考型別(Reference Type)。實值型別的變數直接包含它們的資料,而參考型別的變數儲存對它們的資料的引用,後者稱為對象。對於參考型別,兩個變數可能引用同一個對象,因此對一個變數的操作可能影響另一個變數所引用的對象。對於實值型別,每個變數都有它們自己資料的副本(除ref和out參數變數外),因此對一個變數的操作不可能影響另一個變數。 &