Time of Update: 2018-07-31
1.把C++當成一門新的語言學習2.看《Thinking In C++》,不要看《C++變成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是整合式開發環境,而我們要學的是一門語言;5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;6.會用Visual C+
Time of Update: 2018-07-31
1. 背景 在java中,jvm支援類的動態連結(Class.forName(String className)),用起來也很方便。動態連結是實現IOC(Inversion of Control,控制反轉,更形象的稱作依賴注入)的關鍵,用於將類間依賴從程式移到設定檔中。在架構不重新編譯的情況下,替換被依賴的類。 在linux下,C++只能通過C的dl
Time of Update: 2018-07-31
private Point downPoint; private Rectangle downRectangle; private Rectangle lastRectangle; private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
Time of Update: 2018-07-31
一、IF結構 if(chinese==100 && music>70) { Console.WriteLine("優秀"); } Console.ReadKey(); if (score >= 90) { str="A";
Time of Update: 2018-07-31
開發上位機程式,有時需要使用者對已知條件的邏輯進行編輯,然後程式判斷邏輯的真假。比如你已經知道了AA,BB,CC,DD,EE,FF六個條件的真假,但是這六個條件之間的邏輯需要使用者自行填寫,那麼如何在使用者填寫之後自動判斷這個運算式最終結果呢。 我們先從一個比較簡單的運算式入手,比如現在只有AA,BB,CC三個條件,AA&&BB||CC對應Bool值為{ true, false, true
Time of Update: 2018-07-31
之前在leetcode中進行string和int的轉化時使用過istringstream,現在大致總結一下用法和測試案例。 介紹:C++引入了ostringstream、istringstream、stringstream這三個類,要使用他們建立對象就必須包含sstream.h標頭檔。 istringstream類用於執行C++風格的串流的輸入操作。 ostringstream類用於執行C風格的串流的輸出操作。
Time of Update: 2018-07-31
例子: 添加元素string(當然了,之前在標頭檔中添加#include<string>#include<vector>) vector<string> mystrs; string mystr; cout<<"input string\n";
Time of Update: 2018-07-31
堆: 堆是具有下列性質的完全二叉樹:每個結點的值都大於或等於其左右孩子結點的值,稱為大頂堆;或者每個結點的值都小於等於其左右孩子結點的值,稱為小頂堆! 堆排序: 堆排序演算法就是利用堆(小頂堆或者大頂堆)進行排序的方法。 將待排序的序列構造成一個大頂堆,此時整個序列的最大值就是根節點。將它移走(跟堆的最後一個元素交換,此時末尾元素就是最大值),然後將剩餘的n-1個序列重新構造成一個堆,這樣就會得到n個元素中的次小值。如此反覆執行,便能得到一個有序序列了。
Time of Update: 2018-07-31
轉載自:http://blog.csdn.net/this_capslock/article/details/17001003 回呼函數是基於C編程的Windows SDK的技術,不是針對C++的,程式員可以將一個C函數直接作為回呼函數,但是如果試圖直接使用C++的成員函數作為回呼函數將發生錯誤,甚至編譯就不能通過。
Time of Update: 2018-07-31
二級指標和三級指標作為形參的具體應用: 二級指標作為形參時,記憶體配置在函數外進行。函數內只需要進行相關操作;三級指標作為形參時,可以在函數內分配空間。 三級指標作為形參代碼: int skinDetect(unsigned char *frame, int _width, int _height, Rect*** ppp_rect ,int *skin_size){int width = _width;int height =
Time of Update: 2018-07-31
記錄一下,讀取.ini設定檔的方法。 實際中,一般先獲得當前程式所在路徑(或者放在特定的設定檔目錄) GetModuleFileName 解釋下這句:strrchr(cfgpath, '\\')[0] = '\0'; strrchr(cfgpath, '\\')返迴路徑中'\'最後出現的位置,strrchr(cfgpath, '\\')[0]則把該位置改為'\0'。之後strcat後,就得到了設定檔的絕對位址。
Time of Update: 2018-07-31
windows C/C++移植linux(2) -載入動態共用程式庫的不同 系統動態共用程式庫簡介 靜態庫一個明顯的缺點就是,當系統同時運行很多應用程式,並且應用程式都使用來自同一個函數庫的函數,那麼每一個應用程式都會存在這個函數的多個副本。對於頻繁的調用的函數,將會消耗大量的記憶體和磁碟空間。在linux系統中,每一個程式員用到的靜態庫至少1M以上,如果機器上運行100個這樣的程式,那就佔據100M以上記憶體,磁碟中應用程式假設有2000個,就要接近浪費2G
Time of Update: 2018-07-31
new是在堆上分配記憶體,它需要用delete釋放,否則會造成記憶體流失。 A a 在程式執行完畢後,會自動釋放記憶體。 int main(){ A a;//定義了一個對象
Time of Update: 2018-07-31
先看兩個demo: 一.在類test1中調用函數print() ,把print()的函數指標傳遞給test1的函數指標參數 test1.h: #include <stdio.h>#include <iostream>using namespace std;typedef void (*FUNP)();class test1{public:void fun1(FUNP p){(*p)();}}; main.cpp #include
Time of Update: 2018-07-31
樹結構 樹是一種重要的非線性資料結構,直觀地看,它是資料元素(在樹中稱為結點)按分支關係組織起來的結構,很象自然界中的樹那樣。
Time of Update: 2018-07-31
今天在寫poj上的一道題時,提交之後顯示代碼運行逾時,查了一下網上都說因為測試資料量大,普通迴圈尋找很容易逾時,用優先隊列能解決問題,有時題目裡設計到的狀態資訊比較複雜,要用一個類來維護,類的重載運算子自從上學期學過之後我就忘光了,於是現在寫一篇部落格好好記錄一下: C++中類的重載運算子 我們知道int可以比較,類和類之間只要通過重載運算子,也可以通過 >, <等方式來比較大小。 一般重載運算子有兩種方式,我直接上代碼,代碼裡面都有詳細注釋:
Time of Update: 2018-07-31
引言 自從Dennis M.Ritchie於1973年設計並實現C語言以來,電腦程式設計領域已經發生了巨大的變化。以C語言為根基的C++、Java和C#等物件導向語言相繼誕生,並在各自領域大獲成功。今天,C及其後裔幾乎統治了電腦程式設計世界。可以這麼說,C語言的誕生是現代程式語言革命的起點,它改變了程式設計語言發展的軌跡,是程式設計語言發展史中的一個裡程碑。
Time of Update: 2018-07-31
C標準庫中<stdarg.h>標頭檔中包含可變參數列表的實現,完成遍曆未知數目和類型的函數參數列表的功能。提供以下3個宏以及va_list變數: va_start(va_list ap, lastarg):在提取可變參數前必須調用這個宏實現初始化。
Time of Update: 2018-07-31
之前遇到字串分割的需求時,都是自己去實現,最近發現其實c標準庫已經提供了這個功能。對標準庫還是不熟悉啊,導致重複造車輪了,有必要把標準庫看一下。。。 先看一下之前自己實現的字串分割函數: void strsplit(const char *str, char *delim, void (*visitor)(const char *, int, int)){
Time of Update: 2018-07-31
通過C#擷取Linux某一個檔案夾下面的所有檔案的名稱,從現有的工具WinSCP , SecureCRT來看,實現肯定是可以實現的,通過一番折騰之後下載SharpSSH 源碼(地址為:https://sourceforge.net/projects/sharpssh/)進行查看。發現源碼中的SshTransferProtocolBase.cs類中已經存在抽象方法 publicabstractArrayList GetFileList(string