Time of Update: 2015-03-29
標籤:C++智能指標主要是在普通指標的基礎上封裝了一層,使得使用者對指標的使用更加方便和放心,在使用的過程中不用擔心指標因為釋放問題而導致的異常。在C++11中,智能指標主要有三種:shared_ptr<T> ptr, unique_ptr<T> ptr, weak_ptr<T> ptr; shared_ptr<T> ptr的初始化可以通過以下幾種方式:
Time of Update: 2015-03-28
標籤:C++可看作由以下四種次語言群組合而成1.C語言 高效,內建資料類型,數組,區塊,語句,指標,前置處理器,沒有重載、異常、模板2.類 構造,析構,封裝,繼承,多態,遲綁定3.模板 模板元編程,不關心資料類型,只關心資料結構與演算法4.STL 標準模板庫,容器,迭代器,演算法,函數對象EC筆記,第一部分:1.視C++為一個語言聯邦
Time of Update: 2015-03-28
標籤:一、最簡單的C++程式 1.標準C++要求main函數必須聲明為int型,如果程式正常執行,則向作業系統返回數值0,否則返回數值-1 2.在C語言中所有的標頭檔都帶尾碼.h,而按C++標準要求,由系統提供的標頭檔不帶尾碼.h,由使用者自己編製的標頭檔可以有尾碼.h,在C++程式中也可以使用C語言編譯系統提供的帶尾碼.h的標頭檔 3.C++標準庫中的類和函數是在命名空間std中聲明的,因此程式中如果需要使用C++標準庫中的有關內容,就需要使用using namespace std;作聲明
Time of Update: 2015-03-28
標籤:c語言 while語句 字串追加 斷言 /*實現char * my_strcat(char * dest,char *src)函數.返回: dest字串的地址。功能:將src指向的字串追加到dest指向字串的後面。例如:char dest[10] = "andef"; char *src = "ghi"; my_
Time of Update: 2015-03-28
標籤:c++1.是什嗎? 友元機制允許一個類將對其非公有成員的訪問權授予制定的函數或類。 ——《c++ primer》2.為什麼要提出?: 類中一些成員函數使用較為頻繁,需要大量時間開銷,為了減少時間開銷,就允許破壞程式的封裝性,使用一個外部函數或類可以訪問該類中的私人成員。所以友元的作用在於提高程式的運行效率(即減少了類型檢查和安全性檢查等都需要的時間開銷)。3.友元的問題: 友元的使用破壞了類的封裝性和隱藏性,使得非成員函數可以訪問類的私人成員。4.友元的曆史:
Time of Update: 2015-03-28
標籤:高效c++ 目錄 目錄條款1:視C++為一個語言聯邦條款2:盡量以const、enum、inline替換#define條款3:儘可能使用const條款4:確定對象使用前已先被初始化條款5:瞭解C++預設編寫並調用哪些函數條款6:若不想使用編譯器自動產生的函數,就該明確拒絕條款7:為多態基類聲明virtual解構函式條款8:別讓異常逃離解構函式條款9:絕不在構造和析構過程中調用virtual函數條款10:令operator=
Time of Update: 2015-03-28
標籤:substring substr 在這犯過錯誤,是js和java間的,特此記錄:java substring(start,end)表示從start,到end之間的字串,包括start位置的字元但是不包括end位置的字元js substr(start,length)表示從start位置開始取length個字串js
Time of Update: 2015-03-28
標籤: 轉自:http://www.cnblogs.com/yangyh/archive/2011/06/04/2072393.html 首先這位作者, 因為看了這篇簡短的一個博文, 我相同了關於虛函數方面的知識。 #include "stdafx.h"#include "stdio.h"#include "string.h"class Father{public: name() {printf("father name\n");};
Time of Update: 2015-03-28
標籤:c++#include<iostream>#include<string.h>using namespace std;class String_date{private: char * str;public: String_date(char * str); ~String_date(); char* get_infor() {return str;}};String_date::String_date(char* s){
Time of Update: 2015-03-28
標籤:/*v1*/void strcpy(char *s, char *t){ int i; i = 0; while((s[i] = t[i]) != ‘\0‘) i++;}/*v2*/void strcpy(char *s, char *t){ while((*s = *t) != ‘\0‘){ s++; t++; }}/*v3*/void strcpy(char *s, char *t){ while((*s++ = *t++) != ‘\0‘)
Time of Update: 2015-03-28
標籤:RAND_MAX是C中stdlib.h中宏定義的一個字元常量:#define RAND_MAX Ox7FFF其值最小為32767,最大為2147483647通常在產生隨機小數時可以使用RAND_MAX。給出C++例子://在VC6.0中運行通過#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main(void){srand((unsigned
Time of Update: 2015-03-28
標籤: 最近,決定認真開始記錄自己的學習之路。 c++類的存取控制有public、private和protected。 首先要分簡單的基類和衍生類別情況,不是很容易混淆與多級繼承時的存取控制。自己原先搞得不清楚,也正是因為沒有分開二種情況對待。 在簡單的基類和衍生類別情況中,其存取控制,可以簡單總結: public: 1、成員函數 2、類對象 3、友元 4、子類成員函數 private: 1、成員函數
Time of Update: 2015-03-29
標籤:一、前言 在之前有一次面試中,被問到你瞭解Dictionary的內部實現機制嗎?當時只是簡單的了問答了:Dictionary的內部結構是雜湊表,從而可以快速進行尋找。但是對於更深一步瞭解就不清楚了。所以面試回來之後,就打算好好研究下Dictionary的源碼。所以也就有了這篇文章。二、Dictionary源碼剖析 大家都知道,現在微軟已經開源了.NET Framework的源碼了,線上源碼查看地址為:http://referencesource.microsoft.com/
Time of Update: 2015-03-28
標籤:在winform中,當我們把表單的屬性中FormBorderStyle指示表單的邊框和標題列的外觀和行為的屬性設定為None時,我們會發現拖動表單的功能也隨之消失,這時候我們可以使用MouseDown事件來註冊拖動移動表單的功能,利用Windows的API,實現代碼如下[DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")]
Time of Update: 2015-03-28
標籤:閱讀目錄:不可變對象自訂不可變集合Net提供的不可變集合不可變優點不可變對象缺點不可變對象不可變(immutable): 即對象一旦被建立初始化後,它們的值就不能被改變,之後的每次改變都會產生一個新對象。var str="mushroomsir";str.Substring(0, 6)c#中的string是不可變的,Substring(0,
Time of Update: 2015-03-28
標籤:using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;namespace CommonLib{ /// <summary> /// 檔案的讀寫 /// </summary> public class FileHelper { /// <summary> //
Time of Update: 2015-03-28
標籤:C# 5.0中引入了async 和 await。這兩個關鍵字可以讓你更方便的寫出非同步代碼。看個例子: [csharp] view plaincopy public class MyClass { public MyClass() { &
Time of Update: 2015-03-28
標籤:剛剛看了一下資料,發現有些資料說的是代理,有的說是委託,但都是指同一樣東西delegate,委託和事件是有關的,因為事件的本質就是多播委託,關於多播委託樓主可以找找資料就知道了。 不過個人覺得這兩個概念只是相近但不等同。從實際情況來理解,代理(Proxy)其實是一種設計模式,例如:某個不想被外界訪問或者禁止直接被外界的對象,此時需要有一個中介使其能夠與外界進行通訊,而種中介就稱做代理。而C#中的委託(Delegate)有些不同,其本質是一種函數指標,其只是把對象委託給它的方法原封不動地提
Time of Update: 2015-03-28
標籤:委託的Invoke方法用來進行同步調用。同步調用也可以叫阻塞調用,它將阻塞當前線程,然後執行調用,調用完畢後再繼續向下進行。同步調用的例子:using System;using System.Threading;public delegate int AddHandler(int a, int b);public class Foo {static void Main() {Console.WriteLine("**********SyncInvokeTest**************"
Time of Update: 2015-03-28
標籤:一、匯入包和struts設定檔<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!--