Time of Update: 2018-12-07
1.解構函式是可以顯式調用的。2.new也可以用來動態開闢有虛函數的類。class Foo {public: virtual ~Foo() {cout<<"the destructor of Foo"<<endl;} virtual void display() const { cout<<"display class Foo"<<endl; }private: int x_;};class Child: public Foo
Time of Update: 2018-12-07
1)執行階段程式庫就是 C run-time library,是 C 而非 C++ 語言世界的概念:取這個名字就是因為你的 C 程式運行時需要這些庫中的函數.2)C語言是所謂的“小核心”語言,就其語言本身來說很小(不多的關鍵字,程式流程式控制制,資料類型等);所以,C 語言核心開發出來之後,DennisRitchie 和 Brian Kernighan 就用 C 本身重寫了 90% 以上的 UNIX系統函數,並且把其中最常用的部分獨立出來,形成標頭檔和對應的 LIBRARY,C
Time of Update: 2018-12-07
1.介紹一下STL,詳細說明STL如何?vector。Answer:STL (標準模版庫,Standard Template Library.它由容器演算法迭代器組成。STL有以下的一些優點:可以方便容易地實現搜尋資料或對資料排序等一系列的演算法;偵錯工具時更加安全和方便;即使是人們用STL在UNIX平台下寫的代碼你也可以很容易地理解(因為STL是跨平台的)。vector實質上就是一個動態數組,會根據資料的增加,動態增加數組空間。2.如果用VC開發程式,常見這麼幾個錯誤,C2001,c2005,
Time of Update: 2018-12-07
根據字串產生唯一的數位識別碼, 一般我們都會採用GUID, 根據字串計算MD5, 計算出來的MD5碼就是一個GUID. 但是GUID太長了, 是一個128位的數字, 在儲存的時候, 會很佔地方, 考慮能不能產生一個短一點的數字, 比如32為的數字, 搜了搜, 有人給出了這樣的方法. : 我們可以將一個標準的GUID 21726045-e8f7-4b09-abd8-4bcc926e9e28 轉換成短的字串
Time of Update: 2018-12-07
持久對象(persistent objects)廣泛應用於遊戲、分散式資料庫系統、多媒體以及圖形應用程式中。目前C++並不直接支援持久性(persistence)(但有一些在C++未來版本中添加持久性和反射(reflection)的建議)。持久對象可以在建立它的程式的範圍之外保持自身狀態。把對象寫入一個檔案並在以後重建之,或者把對象傳送到一台遠程機器,就是這樣的例子。對持久性的支援並不象第一眼看上去那樣簡單,同一對象的大小和記憶體布局在不同的平台上可能並不相同,而不同的位元組次序(byte
Time of Update: 2018-12-07
方法一:使用另一個實作類別分裝類的私人成員和函數,這種方法稱為Pimpl方法。,也就是組合的方法。#include <boost/shared_ptr.hpp>#include <iostream>class CTest{public: CTest(); ~CTest() {std::cout<<"CTest destructor!"<<std::endl;} void do_something();private: class CTestImp;
Time of Update: 2018-12-07
Visual C++ 2010 (VC10) 實現了一些頗有用處的 C++0x 新特性,其中就包括(萬眾期待的)rvalue reference 。本文不打算詳述 rvalue reference 是什麼了,關於這方面的文章已經不少,讀者可以自己搜尋來看看。我要說的是,今天我做了一些非常簡單的關於 rvalue reference 的效能測試,其中有非常鼓舞人心的部分,也有 C++ 一以貫之的複雜和越來越複雜的部分。好訊息:效能的極大提升從原理上講,rvalue reference 使得
Time of Update: 2018-12-07
class Widget{public: Widget():a_(0) {} Widget(int a):a_(a) {} operator int& () { return a_; }private: int a_;};int main(){ Widget w(189); int a = w; cout<<a<<endl; return 0;}其中operator int&
Time of Update: 2018-12-07
QThttp://www.trolltech.comhttp://www.qiliang.net/qt.htmlQt是Trolltech公司的一個多平台的C++圖形化使用者介面應用程式架構。它提供給應用程式開發人員建立藝術級的圖形化使用者介面所需的所用功能。Qt是完全物件導向的很容易擴充,並且允許真正地組件編程。自從1996年早些時候,Qt進入商業領域,它已經成為全世界範圍內數千種成功的應用程式的基礎。Qt也是流行的Linux案頭環境KDE的基礎,同時它還支援Windows、Macintosh
Time of Update: 2018-12-07
Google C++編程風格指南(一):標頭檔 【本文】Google C++編程風格指南(二):範圍GoogleC++編程風格指南(三):C++ 類Google C++編程風格指南(四):智能指標和其他C++特性GoogleC++編程風格指南(五):命名規範Google C++編程風格指南(六):代碼注釋GoogleC++編程風格指南(七):格式Google
Time of Update: 2018-12-07
結合一些我的學習經曆,希望對於想學C++的人有些協助. 大家有什麼好想法望提出我老師最初是從C語言教起的,用的是潭浩強的<<C程式設計>>這本書,那時候命令執行都是在CMD裡實現,用的編譯器是turboc最經常用到的就是 printf cin
Time of Update: 2018-12-07
1,列印ASCII字元:#include<iostream> #include<iomanip> using namespace std;class table { public: table(int p):i(p) {} void ascii(); protected: int i; }; void table::ascii() { int k = 1; for (; i <= 128; i++) {
Time of Update: 2018-12-07
C++語言的建立初衷是“a betterC”,但是這並不意味著C++中類似C語言的全域變數和函數所採用的編譯和串連方式與C語言完全相同.作為一種欲與C相容的語言,C++保留了一部分過程式語言的特點(被世人稱為“不徹底地物件導向”),因而它可以定義不屬於任何類的全域變數和函數.但是,C++畢竟是一種物件導向的程式設計語言,為了支持函數的重載,C++對全域函數的處理方式與C有明顯的不同. 2.從標準標頭檔說起 某企業曾經給出如下的一道面試題:
Time of Update: 2018-12-07
Drop C# for a long time, just warm up. Delegate Official definition A delegate is a type that safely encapsulates a method, similar to a function pointer in C and C++. Unlike C function pointers, delegates are object-oriented, type safe, and secure.
Time of Update: 2018-12-07
寫代碼時被一些細節弄得暈頭轉向 指標與數組本來以為弄清楚了 後來發現不是那麼一回事C語言把數組形參作為指標 數組名是一個不可以修改的左值只有做形參時由於當做指標用 所以可以改變 思考題:C語言為什麼要用指標代替數組作參數? 這一點非常重要下面這個例子能很好說明問題#include <iostream.h>void output(char a[]){cout<<&a<<" "<<a<<" "&
Time of Update: 2018-12-07
今天,總算是對這個郵件程式有個交待了。這個郵件程式反覆修改,現在測試也差不多了。拿出來跟大家共用一下。源碼附後,我在開頭說個要點。首先,地球人都知道C#開發郵件發送程式有三個辦法:第一:使用sys.web.mail命名空間下的MailMessage類等的方法屬性。第二:引用CDO組件(跟第一個辦法其實也是引用了CDO組件)。第三個辦法就是用socket,自己編寫了,呵呵,當然對於我這個菜鳥級的技術來說,那時不可能的。所以我選擇了第一種。
Time of Update: 2018-12-07
using System;using System.Collections.Generic;using System.Text;using System.Net;//為了IPEndPoint而添加的引用using System.Net.Sockets;namespace GetClntIP{ class Program { static void Main(string[] args) { TcpListener
Time of Update: 2018-12-07
1、DateTime 數字型 System.DateTime currentTime=new System.DateTime(); 1.1 取當前年月日時分秒 currentTime=System.DateTime.Now; 1.2 取當前年 int 年=currentTime.Year; 1.3 取當前月 int 月=currentTime.Month; 1.4 取當前日 int 日=currentTime.Day; 1.5 取當前時 int 時=currentTime.Hour; 1.6
Time of Update: 2018-12-07
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { AddRoomTimer timer = new AddRoomTimer(); whil
Time of Update: 2018-12-07
首先建立DLL庫,代碼如下:using System;using System.Runtime.InteropServices;namespace ANamespace { // 定義COM組件的介面 public interface ASignatures { string FName(); string SName(); int Age { get;} } // 表明此類會被公開為一個COM組件的介面