Time of Update: 2018-07-25
•在成員函數中,可以將this指標當參數傳遞,也可以返回this指標,或返回通過this指標拿到的對象 /* 成員變數是別的類的對象 */#include <iostream>using namespace std;//日期類class Date { int year,month,day;public: //構造方法 Date(){ cout << "Date() " <<
Time of Update: 2018-07-25
眾所周知,C中以八進位,十進位和十六進位都可以通過%d,%o和%x輕鬆實現,然而唯獨沒有提供二進位輸出的快速方式。博主整理出兩種簡單的實現方式,供參考。 方法一:itoa函數 itoa函數將數值轉換為字串,通過規定轉換進位實現。(還是用了C內建的代碼塊hh) #include<stdio.h>#include<stdlib.h>//注意必須調用stdlib.h函數庫int main(void){ int a=1000; char str[30];
Time of Update: 2018-07-25
“眾裡尋她千百度,驀然回首,那人卻在,燈火闌珊處。”詞雖好,但現實比非如此,最近做項目也是碰到了頭疼的事,雖然網上關於報表添加合計列的方法很多,但總是讓人不知所云,所以自己嘗試下這篇部落格,我的方法是在DataGridview最後一行添加“合計”行,並保證最後一行不參與排序。 思想:”程式的方法固然重要,但思想是前提“,之前嘗試直接在Datagridview添加合計行,發現總是行不通,所有打算直接在綁定資料來源時添加。
Time of Update: 2018-07-25
// 20101112.cpp : 定義控制台應用程式的進入點。 //使用訊號量實現線程同步 #include "stdafx.h" #include "windows.h" #include "iostream" using namespace std; int num=1; HANDLE hDemaphore; unsigned long _stdcall ThreadProc1(void
Time of Update: 2018-07-25
C#非同步委託(非同步方法呼叫調用)一:同步調用 : 程式順序執行時-->調用很耗時的[方法]-->阻塞當前線程-->[方法]調用完成-->繼續執行。非同步呼叫 : --------------------------------------------------------------------------------委託例子 : 自寫委託如下 : public delegate String MyDelegate(String name);
Time of Update: 2018-07-25
在C++中,對跨進程使用各種同步的方法,用得還是比較多的,但在C#中跨進程編程就比較少了,更多的使用了其它一些機制,特別是WCF做為一種分布式編程的技術逐漸被推廣後,也越來越方便了。 原來線上程間使用事件,大多使用這兩個AutoResetEvent 和ManualResetEvent,但在跨進程中使用就不可以了。這時候就得祭出他們兩個的父類EventWaitHandle,大家看一下他的重載建構函式: EventWaitHandle(Boolean, EventResetMode)
Time of Update: 2018-07-25
C#的事件 參考書籍: 《C#圖解教程》 事件這東西呢,其實就是觀察者模式。事件在很多架構裡面都有,例如Andriod,QT5(訊號槽),Cocos2d-x,Unity3d,一般的GUI如按鈕,編輯文本,等等都是用事件的原理來響應程式的。 發行者(publisher)和訂閱者(subscriber) 發行者(publisher),發布某個事件的類或結構。 訂閱者(subscriber),註冊在事件發生時得到通知的類或結構。
Time of Update: 2018-07-25
最近做了一個C#的外掛程式式編程的項目,涉及到了在winform下外掛程式和宿主的資料傳遞。希望實現外掛程式主動向宿主傳遞資料而不是宿主通過運行一個方法去索要資料。 具體實現是Form1為宿主,在textbox裡輸入字串可以傳到外掛程式裡。 另外是可以在外掛程式裡通過滑鼠繪圖,單擊確定將圖傳遞到宿主。
Time of Update: 2018-07-25
原文(C# Multithreading and Events):http://www.codeproject.com/Articles/886223/Csharp-Multithreading-and-Events First let’s start off with there is no perfectly safe multithreaded event handling as there are caveats/conditions that must be
Time of Update: 2018-07-25
1.委託概述 委託是C#中新加入的一個類型,可以把它想作一個和Class類似的一種類型,和使用類相似,使用一個委託時,需要兩個步驟,首先你要定義一個委託,就像是定義一個類一樣;然後,你可以建立一個或多個該委託的執行個體。 定義一個委託的文法是這樣的: [public/protected/private] delegate returnType delegateName(paramtype param1,…) 這是我自己寫的,
Time of Update: 2018-07-25
以下內容只是個人理解,僅供參考。 什麼是委託。 先看最簡單的委託例子: namespace DelegateTest{ public delegate void MessageDelegate(string name); class Program { private static void SaySomething(string name) { Console.WriteLine("You
Time of Update: 2018-07-25
運用類的知識重新審視分數加法 /*1.分數相加,兩個分數分別是1/5和7/20,它們相加後得11/20。方法是先求出兩個分數分母的最小公倍數,通分後,再求兩個分子的和,最後約簡結果分數的分子和分母(如果兩個分數相加的結果是4/8,則必須將其約簡成最簡分數的形式1/2),即用分子分母的最大公約數分別除分子和分母。求m、n最大公約數的一種方法為:將m、n較小的一個數賦給變數k,然後分別用{ k,k-1,k-2,…,1}中的數(遞減)去除m和n,第一個能把m和n同時除盡的數就是m和n的最大公約數。
Time of Update: 2018-07-25
今天在處理MAC地址時,遇到之前沒有注意的一個問題,特此記錄。 在需要字串格式化輸出的時候自然而然的想到了Format函數,MAC地址需要以兩位寬度十六進位形式輸出,所以我就直接寫了%x ,但是在實際輸出時遇到一個錯誤輸出格式變成了:·"fffffff0",應該是f0啊. 首先確定自己的程式沒有寫錯,然後簡單分析下,只要是0xf*這種就會變成上述的情況,,很明顯應該是進位或者符號位問題。
Time of Update: 2018-07-25
C++不轉義顯示原始字串、 一般字串中用“ ”包著,如果要輸出一些特定的字元,需要逸出字元。原始字串就是不用轉義的情況下也能輸出特定的字元 格式[R"(要顯示的字串)"] cout << R"(Jim "king" like "\n" !)";Jim "king" like "\n" ! 原來的用逸出字元 cout <<
Time of Update: 2018-07-25
容器 第1條:謹慎選擇容器類型。 標準STL序列容器:vector、string、deque和list。 標準STL關聯容器:set、multiset、map和multimap。 非標準序列容器slist和rope。slist是一個單向鏈表,rope本質上是一“重型”string。 非標準的關聯容器hash_set、hase_multiset、hash_map和hash_multimap。
Time of Update: 2018-07-25
Gamasutra上有篇文章講得挺細的: Sponsored Feature: Behind the Mirror - Adding Reflection to C++ RTTI 在Class聲明後加入RTTI宏的做法幾乎快成各種引擎的標配了, 誰叫C++的rtti太弱來著. 之前只是認為自己實現RTTI的原因是dynamic_cast的效率不高和對象工廠的需要, 原來關掉這個編譯選項還可以減少佔用的記憶體 Field(
Time of Update: 2018-07-25
C++11 error: unable to find string literal operator 'operator" 一個簡單的宏 C++ #define LOG_INFORMATION(x, ...) LOG_ME("%s:%d, "x, __FUNCTION__,__LINE__, ##__VA_ARGS__)
Time of Update: 2018-07-25
1、C#不支援多重繼承。 使用多重繼承可以使派生出來的類具有多重特性,使用緊湊的程式碼完成十分複雜的功能,但這樣不可避免的是代碼的調試和閱讀變得困難和煩雜。但是C#中支援介面Interface的多重繼承,在類中實現Interface中的介面函數就可以了。 2、在標準的C#中,不支援指標類型。
Time of Update: 2018-07-25
這個寫了蠻長時間的,主要是在想如何讓程式判斷不是一種排序後檢查是不是另一種排序,我想出的這個方法可能不是最優的,如果誰有更好的辦法,請留言告訴我。**僅給有需要的人以參考,如有錯誤請糾正我** #include<iostream>template<typename T>bool is_sorted(T arr[], int n){ T temp; int i; for (i = 0; i < n; i++)
Time of Update: 2018-07-25
賀老師的教學連結 本課講解 執行個體1:求出三角形的周長和面積 #include<iostream>#include<Cmath>#include<cstdlib>using namespace std;class Triangle{public: void setABC(double x, double y, double z);//置三邊的值,注意要能成三角形 double