Time of Update: 2018-12-03
團隊切換器在/Teams/Details?id=xxx的頁面,有這樣一個控制項,使得不需要回到/Teams/Index就能輕鬆切換團隊:由於這種團隊切換控制項比比皆是,比如在團隊故事板中(以及其他地方若干處):所以希望開發一個控制項。這個控制項應該能:1. 裡邊所包含的連結自動跟隨頁面的連結。比如第一張圖裡邊,指向/Teams/Details?id=XXX;而第二張圖裡邊,則是指向/Agile/TeamStoryBoards/Details?teamID=xxx2. 下拉式功能表裡邊的所有連結,
Time of Update: 2018-12-03
#include <iostream>using namespace std;class MyTpl{public:virtual ~MyTpl(){};virtual void Run(){};protected:MyTpl(){};};template<class T>class Cb:public MyTpl{private:typedef void (T::*Done)();Done run_;T* obj_;public:Cb(T* obj,Done run):
Time of Update: 2018-12-03
C++的詞法閉包Thomas M. Breuel[1]翻譯:吳暉摘要我們描述C++程式設計語言的一個允許函數定義嵌套,並提供具有動態生命期的詞法閉包(lexical closures)的擴充。對於這個擴充,我們的主要動力是它允許程式員,像成員函數那麼簡單地,為集合類(collection
Time of Update: 2018-12-03
C/C++左值性精髓(三)左值轉換 3.從函數到指標的轉換 將函數轉換為指標的目的,與數組到指標的轉換一樣,都是為了將符號數值化,以利於運算式計算。該條款規定: A function designator is an expression that has function type. Except when it is the operand of thesizeofoperator or the unary&operator, a function
Time of Update: 2018-12-03
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性:封裝、繼承、多態,真正領悟設計模式的精髓是可能一個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用C++寫了個小例子,加深一下理解。主要參考《大話設計模式》和《設計模式:可複用物件導向軟體的基礎》兩本書。本文介紹狀態模式的實現。 狀態模式:允許一個對象在其內部狀態改變時改變它的行為。對象看起來似乎修改了它的類。它有兩種使用方式:
Time of Update: 2018-12-03
#ifndef __H_MATRIX_H__#define __H_MATRIX_H__#include <vector>using namespace std;template<typename Object>class matrix{public:matrix(int rows, int cols):array(rows){for (int i=0; i<rows; i++)array[i].resize(cols);}const
Time of Update: 2018-12-03
對於初學com的,一個完整的樣本還是挺麻煩的,最近筆者也在學習,通過自己的摸索瞭解了下基本原理。在此將一個簡單string的樣本一步一步的詳解。 原始碼下載1.建立工程首先使用vs2010(筆者使用的vs2010就拿此來講)建立一個工程。選擇空項目,筆者命名為MyCom。2.建立介面類#ifndef IString_h__#define IString_h__#include <Windows.h>#include
Time of Update: 2018-12-03
這幾天看重溫了下《高品質C/C++編程指南》和 《More Effective C++》對於裡面的引用和指標覺得寫得很精闢,同時在網上也找了些別人寫的總結,引用過來大家分享下。 雖然使用引用和指標都可以間接訪問另一個值,但他們之間有兩個重要區別:引用總是指向某個對象,定義引用沒有初始化是錯誤的。賦值行為的差異,給引用賦值修改的是該引用所關聯的對象的值,而並不是使引用與另一個對象關聯。引用一經初始化,就始終指向同一個特定對象。★ 相同點: 1. 都是地址的概念;
Time of Update: 2018-12-03
位拷貝拷貝的是地址(也叫淺拷貝),而值拷貝則拷貝的是內容(深拷貝)。深拷貝和淺拷貝可以簡單理解為:如果一個類擁有資源,當這個類的對象發生複製過程的時候,資源重新分配,這個過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝。
Time of Update: 2018-12-03
原文:http://www.codeproject.com/Articles/14117/COM-in-plain-C-Part-4用C構造多介面的COM對象下載常式-194kb內容 在我們的對象中嵌入子物件 應用程式擷取基底物件的方法 應用程式通過基底物件擷取子物件的方法 應用程式從一個子物件擷取另一個子物件的方法 應用程式獲得我們集合對象的方法 委託 我們基底物件的QueryInterface、AddRef和Release
Time of Update: 2018-12-03
在C++中自增運算子分為前置++和後置++。前置++是先進行+1操作,然後返回+1之後的值;後置++是先傳回值,然後再進行+1操作。 仿照《STL源碼剖析》,寫的自增操作。#include<iostream>using namespace std; class My{private:int m_i;public:friend ostream& operator<<(ostream& os,const My&
Time of Update: 2018-12-03
原文:http://www.codeproject.com/Articles/15037/COM-in-plain-C-Part-7擁有自訂COM對象的ActiveX指令碼宿主允許在你的應用程式中調用C函數。 下載常式- 380 Kb內容 簡介 聲明自訂對象 我們的IDL檔案和類型庫 向引擎註冊我們的COM對象 指令碼如何調用我們COM對象的函數 我們的IProvideMultipleClassInfo對象 應用程式和文檔對象 C++宿主常式簡介
Time of Update: 2018-12-03
原文:http://www.codeproject.com/Articles/17038/COM-in-plain-C-part-8下載常式-419Kb內容簡介指令碼代碼持久化指令碼代碼和“命名項”呼叫指令碼中的特定函數查詢/設定指令碼中變數的值查詢/設定指令碼中變數的值簡介在前面的章節中,我們學會了如何建立Activex指令碼宿主。雖然這些章節覆蓋了編寫一個指令碼宿主的的大部分方面,但是,這裡還有其它一些 你的指令碼宿主也許想要使用的
Time of Update: 2018-12-03
C++編程思想(卷二):異常處理www.firnow.com 時間 : 2009-11-09 作者:匿名 編輯:小張 點擊: 105 [ 評論 ]--關鍵字throw將導致一系列事情的發生:首先,它將建立程式所拋出的對象的一個拷貝。然後,包含throw運算式的函數返回了這個對象,即使該函數原先並未設計為返回這種物件類型。另外,異常發生之前建立的局部對象被銷毀(調用對象的解構函式)。
Time of Update: 2018-12-03
1.求下面函數的傳回值(微軟)int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);}return countx;} 假定x = 9999。 答案:8思路:將x轉化為2進位,看含有的1的個數。2.
Time of Update: 2018-12-03
建構函式、解構函式與賦值函數是每個類最基本的函數。每個類只有一個解構函式,但可以有多個建構函式(包含一個拷貝建構函式,其它的稱為普通建構函式)和 多個賦值函數(除了同類的賦值以外,還有其他的賦值方法)。對於任意一個類A,如果不想編寫上述函數,C++編譯器將自動為A產生四個預設的函數,如A(void); // 預設的無參數建構函式A(const A &a); // 預設的拷貝建構函式~A(void);
Time of Update: 2018-12-03
1、函數名: stpcpy 功 能: 拷貝一個字串到另一個 用 法: char *stpcpy(char *destin, char *source);2、函數名: strcat 功 能: 字串拼接函數 用 法: char *strcat(char *destin, char *source);3、函數名: strchr 功 能: 在一個串中尋找給定字元的第一個匹配之處4、函數名: strcmp 功 能:
Time of Update: 2018-12-03
網上找的一個好的答案:#include "stdafx.h"#include <iostream>using namespace std;struct Node{int value;Node* next;Node( int v, Node* p ) : value(v), next(p) {}};void reverse( Node*& p ){Node* t = 0;for( ; p ; ){Node* _t = t;t = p;p =
Time of Update: 2018-12-03
#include <fstream> #include <string> 開啟檔案 寫入資料:ofstream myFile( "myTxt.txt"); //沒有則建立,直接寫// ofstream myFile( "SVM_PREDICT.txt",iostream::app); // 追加方式開啟讀寫char arr[200];std::sprintf( arr, "Leehom is: %d years old\r\n", n); myFile&
Time of Update: 2018-12-03
昨天,剛剛請教了劉老師,對C語言指標的不安全操作有了一個更深刻的認識。初學指標的人,往往對char *p="Hello World"式的賦值認為理所當然,最造成的“該記憶體不能written”式的錯誤不知所措。其實那是一個指標指向了字串常量的開始地址,該地址的內容是唯讀,自然不能write.指標:首先,我們要知道,char