Time of Update: 2018-12-05
要討論的幾個問題:1. Basic已經很古老了,為何MS還在維護?2. 維護VB成本不會很高嗎?3. VB和C#文法上怎麼如此接近?4. VB和C#文法上如此直接近,為何不合并為一個? 可能看上去是一些見怪不怪或者不太值得討論的問題,其實背後隱藏著MS的深謀遠慮,也可以被我們很多時候所借鑒。 1. 的答案有一種說法是:Bill
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7339671 檔案是有名字的一組相關資訊的集合,在Linux 系統中,檔案的準確定義是不包含有任何其他結構的字元流。通俗地說,就是檔案中的字元與字元之間除了同屬於一個檔案之外,不存在任何其他的關係。檔案中字元的關係,是由使用檔案的應用程式來建立和解釋的。每一個檔案都具有特定的屬性。Linux
Time of Update: 2018-12-05
C++全域建構函式和解構函式的調用機制控制台EXE中C++的全域變數在main之前初始化,在main之後清除,VC編譯器、連結器和VC運行庫代碼互相配合完成了這個魔術。請複製這段代碼到你建立的控制台程式,建立並運行:#include "stdafx.h"#include <iostream>#define SECNAME ".CRT$XCU"#pragma section (SECNAME, long, read)void Cleanup(){std::cout << "
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7337616setitimer:和alarm相似,但可以更精確的控制進程。which表示計時方式。value和oldvalue是指向itmerval指標。setitimer()調用成功返回0,否則返回-1。which取值:ITIMER_REAL : 以系統真實的時間來計算,它送出SIGALRM訊號。ITIMER_VIRTUAL :
Time of Update: 2018-12-05
我以前寫線程時要麼老老實實照著聲明寫,要麼使用C++類的靜態成員函數來作為回呼函數,經常會因為線程代碼而破壞封裝.之前雖然知道類成員函數的展開形式,但從沒想過利用過它,昨天看深入ATL時無意中學會了這一招:) 類成員方法是一個比較特殊的函數,它在編譯時間會被轉化成普通函數,比如有TMyClass類:class TMyClass{ void Func();};這個TMyClass::Func最終會轉化成 void Func(TMyClass *this);
Time of Update: 2018-12-05
stl容器區別: vector list deque set map-底層實現stl容器區別: vector list deque set map (轉)在STL中基本容器有: vector、list、deque、set、mapset 和map都是無序的儲存元素,只能通過它提供的介面對裡面的元素進行訪問set:集合,
Time of Update: 2018-12-05
演算法思想:在貪婪演算法(greedy method)中採用逐步構造最優解的方法。在每個階段,都做出一個看上去最優的決策(在一定的標準下)。決策一旦作出,就不可再更改。作出貪婪決策的依據稱為貪婪準則(greedy
Time of Update: 2018-12-05
問題引入:在實習過程中發現了一個以前一直預設的錯誤,同樣char *c = "abc"和char c[]="abc",前者改變其內容程式是會崩潰的,而後者完全正確。程式示範:測試環境Devc++代碼運行結果2293628 4199056 abc2293624 2293624 abc2293620 4199056 abc #include <iostream>using namespace std; main(){char *c1 = "abc";char c2[] =
Time of Update: 2018-12-05
作者:陳勇 出處:blog.csdn.net/cheny_com 這是編碼簡單性系列中的其中一篇,之前幾篇包括代碼篇/函數篇/語義篇。 因為要積累案例,會隨時更新。 之前提到:編碼簡單性的“心法”就是:只要螢幕上有任何兩部分代碼看上去相似,則一定有合并辦法。而說起相似,沒有比switch - case的各段代碼更相似的了。如果細數一下自己產品中最長的函數,裡邊幾乎肯定的有一個switch - case,或者一堆if -else
Time of Update: 2018-12-05
分析:這是Adobe 公司 2007 年校園招聘的最新筆試題。這道題除了考察應聘者的C++ 基本功底外,還能考察反應能力,是一道很好的題目。 在Java 中定義了關鍵字 final ,被 final 修飾的類不能被繼承。但在 C++ 中沒有final 這個關鍵字,要實現這個要求還是需要花費一些精力。 首先想到的是在 C++
Time of Update: 2018-12-05
這是C++程式員的C#轉型手冊的第二篇。(之一,之二)為了學習C#,買過書,上過網,問過問題,找過人,有的有用,有的協助很大,有的沒什麼用,下面記錄了我自己的過程;每個人會有所不同,請靈活掌握。買什麼書?買過一本C#的書,看了沒有一周就擱下,幾乎再也沒有翻動過,後來就送人了。C#和C++還是挺相似的,建議不要買書,而是常常逛逛網站,編編程式,時間長了就學會了。看什麼網站?本人當年是看一本叫做《Nerd
Time of Update: 2018-12-05
C++ protected成員存取權限關於C++中protected的存取權限的討論已經是一個很陳舊的話題了,陳舊到大家都不願意去討論。我再次讀《C++ Primer》的時候,其中關於protected 成員的描述是這樣的:protected MembersThe protected access label can be thought of as a blend of private and public :Like private members, protected members
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7337152訊號的發送的關鍵是使系統知道向哪個進程發送訊號以及發送什麼訊號。其中要注意的是能否向某一進程發送某個特定的訊號是和使用者的許可權密切相關的。例如,只有系統管理員才能發送SIGKILL訊號終止進程。 用於發送訊號的系統調用。#include <sys/types.h>#include
Time of Update: 2018-12-05
淺談C++的智能指標記憶體泄露是C++程式員都頭疼的大{sendmsg('pw_ajax.php','action=relatetag&tagname=問題',this.id)}">問題。C++缺乏像JAVA、C#一樣,擁有GC這麼一項有利的武器,它將記憶體管理的部分{sendmsg('pw_ajax.php','action=relatetag&tagname=許可權',this.id)}">許可權交給了程式員。雖然GC的存在節約了開發、排錯的時間與成本,但是C++為了追求運行
Time of Update: 2018-12-05
本系列文章由muge0913整理編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7337737訊號作為非同步進程的通訊方式,在實際應用中是方便而實用的。但是,也應該注意到在使用訊號時的潛在危險。在此簡單介紹幾種可能引發錯誤的具體情況,希望在實際進行訊號處理時特別注意。 當註冊了一個訊號處理函數時,可能會對某些系統調用進行修改。通常來講,它們本來應是不受訊號的影響,但由於註冊了一個訊號處理函數,系統可能會認為在一個訊號到來時需要中斷
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7337363alarm()用來設定訊號SIGALRM在經過參數seconds指定的秒數後傳送給目前的進程。如果參數seconds
Time of Update: 2018-12-05
C。說到底C++仍是以C為基礎。區塊、語句、前置處理器、內建資料類型、數組、指標等統統來自C。許多時候C++對問題的解法不過就是較進階的C解法,但當你以C++內的C成分工作時,高效編程規則映照出C語言的局限:沒有模版,沒有異常,沒有重載。Object-Oriented C++。這部分也就是C with Classes所訴求的:classes(包括建構函式和解構函式),封裝、繼承、多態、virutal函數(動態綁定)等等。這一部分是物件導向設計之古典規則在C++上的最直接實施。Template
Time of Update: 2018-12-05
聲明一個pure virtual函數的目的是為了讓derived classes只繼承函數介面。聲明簡樸的(非純)impure virtual函數的目的,是讓derived classes繼承該函數的介面和預設實現。聲明non-virtual函數的目的是為了令derived classes繼承函數的介面及一份強制性實現。由於non-virtual函數代表的意義是不變性(invariant)淩駕特異性(specialization),所以它絕不該在derived class中被重新定義。pure
Time of Update: 2018-12-05
給定一組物品,每種物品都有自己的重量和價值,在限定的總重量內,我們如何選擇,才能使得物品的總價格最高。 解決方案:價值密度Pi / Wi(Pi表示第i件物品的價值,Wi表示第i物品的重量)貪婪演算法,這種選擇準則為:從剩餘物品中選擇可裝入包的Pi / Wi值最大的物品。 0/1背包問題是一個NP複雜問題(NP完全問題,是世界七大數學難題之一。 NP的英文全稱是Non-deterministic
Time of Update: 2018-12-05
由於要採用sphinx 作為全文檢索索引引擎,但是我的很多資料都存在硬碟上,如果這些資料都讀入資料庫那就太痛苦了,資料量很大,mysql資料庫儲存這些資料,只能是為了全文檢索索引,那也過於浪費了,所以決定採用xmlpipe2資料來源,由於c語言的io操作能力超強為了效率問題也就是用,從不會寫的c語言。廢話少說,代碼如下 #include <stdio.h>#include <stdlib.h>#include <string.h>#include