re: 私有繼承小討論 天下 2018-01-10 09:20
不想要完美的解決方案,任何語(yǔ)言都不是完美的.
完美主義的追求大多數(shù)是坑自己,浪費(fèi)生命!
re: C++的非侵入式接口 天下 2017-07-17 11:03
cppblog人氣不旺啊,
csdn還不錯(cuò),
現(xiàn)在都懶的寫blog了,唉.
re: 回顧C(jī)++ 天下 2017-07-17 10:55
ABI 不好搞,不過(guò)C++17如果module 標(biāo)準(zhǔn)確定的話,基本上也夠用了.
但跨語(yǔ)言的ABI標(biāo)準(zhǔn)除了MS 的 COM,
有幾個(gè)公司會(huì)去搞跨語(yǔ)言的ABI.因?yàn)镃形式的DLL已經(jīng)基本夠用了,
講個(gè)笑話,
程序員的鄙視鏈
程序語(yǔ)言篇
懂 Functional Programming 的工程師鄙視老是把設(shè)計(jì)模式掛在嘴邊的工程師,老是把設(shè)計(jì)模式掛在嘴邊的工程師鄙視會(huì)說(shuō)「你這樣寫就不 OO 了啊」的工程師,會(huì)說(shuō)「你這樣寫就不 OO 了啊」的工程師鄙視會(huì)說(shuō)「蛤?什么面向?qū)ο螅坎皇前阎貜?fù)的 code 寫成一個(gè) function 就好了嗎?」的工程師,會(huì)說(shuō)「蛤?什么面向?qū)ο螅坎皇前阎貜?fù)的 code 寫成一個(gè) function 就好了嗎?」的工程師鄙視把同一段 code 到處復(fù)制貼上的工程師,把同一段 code 到處復(fù)制貼上的工程師鄙視 PM。
寫靜態(tài)語(yǔ)言的工程師鄙視寫動(dòng)態(tài)語(yǔ)言的工程師。
寫匯編語(yǔ)言的工程師鄙視寫 C 語(yǔ)言的工程師,C 語(yǔ)言工程師鄙視 C++ 工程師,C++ 工程師鄙視 Java 和 C# 工程師,Java 工程師和 C# 工程師則互相鄙視,而 C# 工程師又鄙視 Visual Basic 工程師和會(huì)把 C# 念成「C 井」的工程師,會(huì)把 C# 念成「C 井」的工程師則鄙視認(rèn)為 HTML 是一種程序語(yǔ)言的設(shè)計(jì)師。
用 Python 3 的工程師鄙視還在用 Python 2 的工程師,用 Python 2 的工程師鄙視遇到 UnicodeEncodeError 的工程師。
寫 iOS 的工程師鄙視寫 Android 的工程師,寫 Android 的工程師鄙視寫 Windows Phone 的工程師。
有 Swift 一年經(jīng)驗(yàn)的工程師鄙視有 Objective-C 五年經(jīng)驗(yàn)的工程師,寫 Objective-C 的工程師鄙視用 PhoneGap 包裝成 native app 的工程師。
用 React.js 的工程師鄙視用 AngularJS 的工程師,用 AngularJS 的工程師鄙視用 jQuery 的工程師,用 jQuery 的工程師鄙視用 Vanilla JavaScript 的工程師,用 Vanilla JavaScript 的工程師鄙視 IE 的用戶。
會(huì)用 debugger 的工程師鄙視用 assert 的工程師,用 assert 的工程師鄙視只會(huì) print() 的工程師;用 console.log() 來(lái) debug 的工程師鄙視用 alert() 來(lái) debug 的工程師。
寫 Ruby on Rails 的工程師鄙視所有使用其他語(yǔ)言的工程師。
什么?你說(shuō) Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什么程序語(yǔ)言呢!
所有的工程師都鄙視 PHP 工程師。
PHP 工程師:PHP是最好的編程語(yǔ)言。
@華夏之火
看你把C++貶的,C++是工業(yè)標(biāo)準(zhǔn),是ISO國(guó)際標(biāo)準(zhǔn),是目前不可缺少的膠水語(yǔ)言...
不像Java和C#是由oracle,ms 這些大公司維護(hù)的私有語(yǔ)言。
就是因?yàn)镃++沒有這些大公司商業(yè)化的支持和運(yùn)作,才導(dǎo)致C++的標(biāo)準(zhǔn)庫(kù)不盡如人意。正因?yàn)槿绱耍@個(gè)大公司動(dòng)不了C++,也沒法動(dòng)C++,因?yàn)樗麄冋f(shuō)了不算,是C++標(biāo)準(zhǔn)委員會(huì)說(shuō)了才算。
每個(gè)語(yǔ)言都是在根據(jù)需求而發(fā)展、動(dòng)態(tài)進(jìn)化的,C++也是如此。
無(wú)所謂geek不geek。相同的工作經(jīng)驗(yàn),C++ 能讓猿猴開心,而沉迷其中,比搞Java的,C#多個(gè)幾K是很普通的情況。
Java,C#都已經(jīng)爛大街了,一抓一大把,但C++不會(huì)。
C++標(biāo)準(zhǔn)庫(kù)如果實(shí)現(xiàn)反射+module 秒殺動(dòng)態(tài)語(yǔ)言
C++從11開始發(fā)力了.
re: stl的缺陷抽象不足 天下 2017-07-10 11:55
做linux開發(fā)就用QT,都搞過(guò)....QT還不錯(cuò)
re: stl的缺陷抽象不足 天下 2017-07-10 11:49
寫的很好,學(xué)習(xí)了,既從宏觀入手俯瞰,也在細(xì)節(jié)處分析的透徹.
呵呵,
,搞C++的都有點(diǎn)完美主義.
我現(xiàn)在是自己用MFC封裝輪子,湊合著用
界面用xtreme toolkit pro搞.
有機(jī)會(huì)打算玩下kotlin做android開發(fā).
re: 非完美的stl 天下 2017-07-08 22:57
文章寫的很好,以前搞C++標(biāo)準(zhǔn)的那些人不接地氣啊。
從C++ 11 開始,開始重視起來(lái)了,從C++17 module,,,,,以后會(huì)越來(lái)越好了。
老兄,看你的博文挺有意思的啊,繼續(xù)多寫點(diǎn)啊!
re: 消息發(fā)送雜談 天下 2016-05-13 14:49
好文,贊。
@ccsdu2009
加油,GUI確實(shí)費(fèi)力,期望還要加入腳本語(yǔ)言支持,如LUA。
good ,最近也在寫DirectUI,后期考慮用SDL 做跨平臺(tái)的UI。
re: shell遍歷文件夾 天下 2015-12-06 17:04
@shark
3Q,已經(jīng)更正
re: 伴隨我成長(zhǎng)的編程書 天下 2013-03-24 18:22
有空再來(lái)翻!
有點(diǎn)感覺,不錯(cuò),
有點(diǎn)喜歡
期待更多的DEMO
哪里這么復(fù)雜
直接replace into 就可以了
re: recv行為描述錯(cuò)了 天下 2012-05-09 14:18
你要這樣用的話,一個(gè)參數(shù)就可以了,何必這么麻煩
在阻塞的方式下:
注意recv的最后一個(gè)參數(shù):MSG_WAITALL
re: LINUX 錯(cuò)誤代碼 天下 2012-04-28 08:54
/* Error Codes */
#define EPERM 1
#define ENOENT 2
#define ESRCH 3
#define EINTR 4
#define EIO 5
#define ENXIO 6
#define E2BIG 7
#define ENOEXEC 8
#define EBADF 9
#define ECHILD 10
#define EAGAIN 11
#define ENOMEM 12
#define EACCES 13
#define EFAULT 14
#define EBUSY 16
#define EEXIST 17
#define EXDEV 18
#define ENODEV 19
#define ENOTDIR 20
#define EISDIR 21
#define ENFILE 23
#define EMFILE 24
#define ENOTTY 25
#define EFBIG 27
#define ENOSPC 28
#define ESPIPE 29
#define EROFS 30
#define EMLINK 31
#define EPIPE 32
#define EDOM 33
#define EDEADLK 36
#define ENAMETOOLONG 38
#define ENOLCK 39
#define ENOSYS 40
#define ENOTEMPTY 41
跨平臺(tái)使用挺好,
在WIN32下,只要CW2A,CA2W宏全部搞定
我需要啊,
正想弄個(gè)VS2005掛上VC++2010 sp1編譯器的.
郵箱:13174115@qq.com
謝謝
re: 判斷字符串是否UTF8編碼 天下 2011-08-28 08:25
這個(gè)很有用
也許這個(gè)語(yǔ)言可以去了解下:
lua的衍生版本
Squirrel松鼠腳本
@溪流
還真較真啊,治學(xué)態(tài)度很嚴(yán)謹(jǐn)
學(xué)術(shù)確實(shí)需要這樣.
不過(guò),就線程安全來(lái)說(shuō),這只是個(gè)概念的理解而已.所以造成不同的觀念.呵呵.
@溪流
呵呵,非常同意你的回復(fù)
說(shuō)下要求背景吧,應(yīng)用場(chǎng)影實(shí)時(shí)性要求不高,比如說(shuō)線程B只是更新了配置文件.
線程A然后重新獲取而已.
@kenshin
說(shuō)的很好,謝謝.
補(bǔ)充下:
線程B負(fù)責(zé)更新D,D更新時(shí),并負(fù)責(zé)修改全局IsModified 為true
這個(gè)改成:
線程B負(fù)責(zé)更新D,D更新后,并負(fù)責(zé)修改全局IsModified 為true
GetData();是從數(shù)據(jù)庫(kù)或文件獲取.
這樣就可以了吧.
真有那么復(fù)雜嗎?
歡迎去我的博客看看.有關(guān)于C操作Mysql這一塊的.
不過(guò)C操作MYSQL沒有mysql++操作方便.
特別是多線程環(huán)境.
真有那么復(fù)雜嗎?
歡迎去我的博客看看.有關(guān)于C操作Mysql這一塊的.
不過(guò)C操作MYSQL沒有mysql++操作方便.
特別是多線程環(huán)境.
@不宜過(guò)熱恩
int CFileProgressDialog::uploading(double ulnow, double ultotal)
{
if (m_bIsCancel){
return 1;
}
int nPercent = (int)(ulnow*100/ultotal);
m_prsPercent.SetPos(nPercent);
CString strText;
strText.Format(_T("%d%%"),nPercent);
GetDlgItem(IDC_STATIC_PERCENT)->SetWindowText(strText);
return 0;
}
@不宜過(guò)熱恩
模板在這里的作用:
比如:
CXXXDialog中
public:
CFtpClient m_ftpClient<CXXXDialog>;
m_ftpClient.PutFile(szLocalFileName,szRemoteFileName,this);
//用于進(jìn)度回調(diào).
CXXXDialog::uploading(double ulnow,double ultotal)
{
}
見:
bool CFtpClient<T>::PutFile(char szLocalFileName[] ,char szRemoteFileName[],T* pT)
if (pT !=NULL){
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, CFtpClient::GetFileProgressFunc);
curl_easy_setopt(curl, CURLOPT_PROGRESSDATA,pT);
}
獨(dú)立出來(lái)吧,不要綁定你的字符串類,
項(xiàng)目中一般不用自定義的字符串類.
還有.linux下有iconv這庫(kù).
re: CxImage類庫(kù) 天下 2010-10-29 16:08
寫的很好,
但,怎么用個(gè) CxImage
把其他圖像庫(kù)都罵了一下.
re: 編程思考(三) 天下 2010-10-29 15:56
要看程序員們等其他人的意見.
維護(hù)及重構(gòu)都不是一個(gè)人的事.
re: C++界面庫(kù)的抉擇 天下 2010-10-27 17:36
WIN32API是最基礎(chǔ),是一定得精通的.
MFC是必須掌握的.優(yōu)點(diǎn)是他的資源多.
看情況你可以選擇一個(gè)界面庫(kù),然后精通.
目前完美的界面庫(kù)還不存在.
項(xiàng)目上用MFC+Xtreme ToolkitPro 基本搞定一切.
Xtreme ToolkitPro,網(wǎng)上破解一大把.
帶一個(gè)專業(yè)的設(shè)計(jì)器,你們看著辦吧.
@OwnWaterloo
@OwnWaterloo
@溪流
大學(xué)里教過(guò),很多書里面也有講.
但是,
不好意思,文章是轉(zhuǎn)的.,可能記錯(cuò)了,不記得是哪本書里講過(guò).
@OwnWaterloo
《深度探索C++對(duì)象模型》有詳細(xì)的解釋.