Time of Update: 2018-12-03
C語言static用法小結static關鍵字是C, C++中都存在的關鍵字, 它主要有三種使用方式, 其中前兩種只指在C語言中使用, 第三種在C++中使用(C,C++中具體細微操作不盡相同, 本文以C++為準). (1)局部靜態變數 (2)外部靜態變數/函數 (3)待用資料成員/成員函數 下面就這三種使用方式及注意事項分別說明 一、局部靜態變數 在C/C++中, 局部變數按照儲存形式可分為三種auto, static, register (<C語言程式設計(第二版)>譚浩強, 第17
Time of Update: 2018-12-03
(1) Java有記憶體回收機制,當然也就沒有C++的解構函式。但是,可控制性和C++相比就差了一點,而且也不是說有了記憶體回收,就不會產生記憶體流失。由於相互引用等原因可能造成對象的生存周期過長,記憶體回收失效。對象記憶體的回收,個人認為應該是由程式員來掌握的事情。C++可以用auto_ptr,shared_ptr等智能指標來完成自動析構,當然前提是你要熟悉他們的實現機制和應用場合(2) Java中所有的對象都是分配在堆上,在Java中只有控制代碼,也就是引用,沒有指標。
Time of Update: 2018-12-03
(1) vtable的影響 導致一個對象執行個體增大4個位元組 #include <cstdlib> #include <iostream> using namespace std; class A { int a; }; class B { virtual void say() { } int b; }; int main(int argc, char *argv[]) {
Time of Update: 2018-12-03
record lookup( phone);record lookup(const
Time of Update: 2018-12-03
寫好C語言,好看的宏定義很主要,運用宏定義可以防止 出錯,提高可移植性,可讀性,方便性 等等。下面列舉一些成熟軟體中常用得宏定義…… 1,防止 一個標頭檔被重複包含 #ifndef COMDEF_H #define COMDEF_H //標頭檔內容 #endif 2,重新定義一些類型,防止 由於各種平台和編譯器的不同,而產生的類型位元組數差異,方便移植。 typedef unsigned char boolean; /* Boolean value type. */
Time of Update: 2018-12-03
晚上看到群裡有人問這樣的題目: class a { public: void GetValue() {cout<<k<<endl;} private: int k; }; 要求不用友元,不在這個類裡添加任何代碼,把成員變數k的值改為100,結果自然是通過公用成員函數GetValue來驗證。 實現如下: class a { public: void GetValue() {cout<<k<&
Time of Update: 2018-12-03
用了別人的代碼,推薦+備忘。原帖地址:.net(c#)讀取flash(swf)檔案的尺寸 http://www.cnblogs.com/nasdaqhe/archive/2008/07/02/1234357.html用.NET讀取Flash格式檔案資訊http://www.cnblogs.com/gmm/archive/2007/07/17/310675.html我使用了第一個文章中的代碼,第一個文章的代碼參考的是第二個文章:)TheEnd. // Add
Time of Update: 2018-12-03
舞伴問題描述如下:就是說有個PARTY舞會需要進行跳舞,當然是男的跟女的搭檔了。就是男的一個隊列,女的一個隊列,然後互相出隊列,進行匹配跳舞,如果男的隊列跟女的隊列人一樣多,則輸出 匹配完美結束,若最後男的剩下或者女的剩下,此時輸出剩下的隊列中第一個人的名字,比如I,則輸出
Time of Update: 2018-12-03
C++匯出模板類今天使用__declspec(dllexport)匯出dll中的模板類,dll倒是編譯通過了,不過連結的時候出錯,無法解析的外部符號,汗到網上查了下,說是模板類無法匯出然後我去掉了__declspec(dllexport),發現竟然編輯通過了,也就是不用匯出聲明就可以在dll外部使用模板類了測試了一下,這樣使用沒有出錯,正常使用奇怪了,為什麼呢?另:C++模板類必須是實現和定義都放標頭檔中,否則會出現連結錯誤
Time of Update: 2018-12-03
轉載自:http://www.cnblogs.com/gavincome/archive/2007/12/15/995665.html 1、public void GetFileVersion() { // Get the file version for the notepad. FileVersionInfo myFileVersionInfo =
Time of Update: 2018-12-03
最近在看JAVA,因為JAVA是運行期綁定,所以裡面提到了一個有趣的問題,就是在建構函式裡面運行虛函數的問題。 建構函式裡可以運行虛函數嗎?我們先不討論實際項目中是否有這個必要(至少我還沒碰到過,也許即便碰到了也有其他的解決辦法。),單就建構函式裡調用虛擬函數的情況來做些分析。 在JAVA中,如果在建構函式中調用虛擬函數的話,是可以編譯通過的,也不會出現運行期錯誤,但他的運行結果也許不是你想要的。在JAVA當中,由於是運行期綁定,而建構函式執行的虛擬函數將是衍生類中的函數(假如衍生類對該虛擬函數
Time of Update: 2018-12-03
序0.為什麼學習C++0.Why Shall I Learn C++? C++作為一門較為成熟重量級的語言,吸引了許許多多編程學習者。單從市面上編程書籍中C++的書所佔的比例即可見一斑。當然,近年來隨著Java、C#的興起與逐漸發展,也出現了一些不同的聲音,認為C++並非高效應用編程的首選,而且硬體的迅速發展也會使虛擬平台的速度劣勢淡化,而其優良的可移植性及安全性將使之成為新的語言主流……
Time of Update: 2018-12-03
文章出自:http://grantren.iteye.com/blog/43289拷貝建構函式是C++最基礎的概念之一,大家自認為對拷貝建構函式瞭解嗎?請大家先回答一下三個問題:1. 以下函數哪個是拷貝建構函式,為什麼?X::X(const X&); X::X(X); X::X(X&, int a=1); X::X(X&, int a=1, b=2); 2. 一個類中可以存在多於一個的拷貝建構函式嗎?3. 寫出以下程式段的輸出結果, 並說明為什麼?
Time of Update: 2018-12-03
C++實戰:一個輕型數組類的實現說明:這個數組類可視為標準庫中vector的簡化版:支援數組的一般操作,支援複製、賦值,支援重新定義大小; 不考慮多線程,不考慮預分配額外空間以進行的效能最佳化,不設定迭代器。#include <iostream> // 僅用於測試時輸出,數組類本身不需要template <typename Type>class Array{public: typedef unsigned int size_tp;
Time of Update: 2018-12-03
和大多數朋友一樣,我頭一遭遇到cout是在生平第一個看到C++程式——經典的“Hello, World!”中,作為我如今最擅長編寫的程式之一(^_^),它大概是這樣子的:#include <iostream>using namespace std;int main(){ cout << "Hello, World!" << endl; return 0;}
Time of Update: 2018-12-03
1. 模板定義 C++是一種強型別語言,它要求對於每一個實現都要有一個執行個體。如對於簡單的min()的int和double兩種執行個體都要事先定義,這給程式員帶來很多不便性。這一章我們來學習函數模板,看它是如何解決這個問題的。函數模板提供一種用來自動產生各種類型函數執行個體的演算法,程式員只需要補始化其中部分參數和傳回值,或者都不初始化,只需要申明通用的類型,而函數體則不需要改變。如下面執行個體:template <class Type>Type min(
Time of Update: 2018-12-03
今天在一個網站上看到有個冒泡排序演算法,最後的輸出prinf輸出函數如:printf("%c",a[i],a[i]); 突然記得在什麼地方看過一種說法,C語言的輸出是從右至左的,但具體卻很模糊,下班回來之後就試了一下,代碼如下:#include <stdio.h>int main(){ int b = 4;printf("%d,%d",++b,b++);printf("\n");printf("%d",b);printf("\n");int a[3] = {1,2,
Time of Update: 2018-12-03
Time of Update: 2018-12-03
C++中的檔案輸入/輸出(2)原作:Ilia Yordanov, loobian@cpp-home.com 讀取檔案 你已經看到了應該如何寫檔案。現在,當我們已經得到cpp-home.txt檔案時,我們將要讀取它,並且將內容列印在螢幕上。首先,我要指出的是,有很多種方法可以讀取檔案。以後我會向你們介紹所有的方法(就我所知的)。此刻,我先向你展示最佳的方法(我認為的)。正如你已經熟悉的——我將首先給出一段程式碼,然後,我會詳細地對它進行解釋說明: #include <fstream.h&
Time of Update: 2018-12-03
類: 類的存取修飾詞有public、internal,預設時為internal internal限制類在本項目中訪問,不能被其他項目訪問 public使得類可以在其他項目中訪問,但是先要添加對該類所在項目的引用,並且using該類的命名空間;方法: 方法的存取修飾詞有private、protected、internal、public、protected internal,預設時為private