??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久国产一区二区,久久久久久精品免费免费自慰,深夜久久AAAAA级毛片免费看 http://www.shnenglu.com/Tim/category/16362.html<center><font id="wd" style="color:red;font-weight:bold;">让内心永q燃烧着伟大的光明的_之火Q?lt;/font></center>
<center><font style="color:green">灉|的思考,严}的实?lt;/font></center>
<center><font style="color:red">豪迈的气、顽强的意志和周密的理性?lt;/font></center> zh-cn Sun, 16 Jul 2017 01:50:01 GMT Sun, 16 Jul 2017 01:50:01 GMT 60 32位编译的E序无法使用大于2G的内?/title> http://www.shnenglu.com/Tim/archive/2017/01/26/214639.htmlTim Tim Thu, 26 Jan 2017 09:18:00 GMT http://www.shnenglu.com/Tim/archive/2017/01/26/214639.html http://www.shnenglu.com/Tim/comments/214639.html http://www.shnenglu.com/Tim/archive/2017/01/26/214639.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/214639.html http://www.shnenglu.com/Tim/services/trackbacks/214639.html VS?2位编译的E序Q无法用大?G的内存。当动态申Pnew/mallocQ或者栈I间使用需要大?GӞE序׃产生异常。该异常能被try-catch捕获Q但是不一定是bad_alloccdQ只能被catch(...)捕获Q所以往往难以定位真实的原因?br />解决Ҏ(gu)是在链接选项中加?/LARGEADDRESSAWARE 。这样就能?G的空间?/div> ]]> GetConsoleWindow http://www.shnenglu.com/Tim/archive/2015/01/09/209447.htmlTim Tim Fri, 09 Jan 2015 02:36:00 GMT http://www.shnenglu.com/Tim/archive/2015/01/09/209447.html http://www.shnenglu.com/Tim/comments/209447.html http://www.shnenglu.com/Tim/archive/2015/01/09/209447.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/209447.html http://www.shnenglu.com/Tim/services/trackbacks/209447.html 在控制台E序中,要得到当前程序的句柄Q最好的Ҏ(gu)是调用GetConsoleWindow ?br />然而,在代码中却无法直接调用GetConsoleWindow,因ؓGetConsoleWindow ?Kernel32.dll 中部分未公布的API?br />在用eXeScope导出 Kernel32.dll 中控制台相关的API之后Q可以发现有一个名为GetConsoleWindow的API。查扑֏考了部分资料后,提供如下代码Q能够动态蝲入这个APIq获 得窗口句柄?/p>
首先需要全局声明Q?/p>
typedef HWND (WINAPI *PROCGETCONSOLEWINDOW)(); PROCGETCONSOLEWINDOW GetConsoleWindow;
然后再Main()函数开头中输入以下内容Q?/p>
HMODULE hKernel32 = GetModuleHandle("kernel32"); GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow");
完成了动态蝲入API函数GetConsoleWindow的Q务。需要用时可如下:
HWND cmd = GetConsoleWindow();
]]> fputs不自动添加换行符 http://www.shnenglu.com/Tim/archive/2014/12/02/209002.htmlTim Tim Tue, 02 Dec 2014 03:41:00 GMT http://www.shnenglu.com/Tim/archive/2014/12/02/209002.html http://www.shnenglu.com/Tim/comments/209002.html http://www.shnenglu.com/Tim/archive/2014/12/02/209002.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/209002.html http://www.shnenglu.com/Tim/services/trackbacks/209002.html 不需要处?换行W; 但是fputs写文件时一ơ写入一行,但是不会自动d 换行W?/span> 然而,puts?span style="color: red">自动 d换行W?h意puts和fputs的这U不一致性! ]]> system、WinExec、ShellExecute、CreateProcess http://www.shnenglu.com/Tim/archive/2014/05/12/206913.htmlTim Tim Mon, 12 May 2014 03:35:00 GMT http://www.shnenglu.com/Tim/archive/2014/05/12/206913.html http://www.shnenglu.com/Tim/comments/206913.html http://www.shnenglu.com/Tim/archive/2014/05/12/206913.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/206913.html http://www.shnenglu.com/Tim/services/trackbacks/206913.html 转自http://www.cnblogs.com/project/archive/2009/10/22/1588015.html
关于三个SDK函数: WinExecQ?ShellExecuteQCreateProcess 的其他注意事: ?】定义头文g 必须定义以下头文Ӟ #include <windows.h> ?】定义\?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />C++中所表示的\径要?" \\ "而不是^常所用的" \ "Q所以以上三个函数表C\径都?disk:\\Directory\\...\\File name WinExec("D:\\Program Files\\Test\\Test.exe",SW_SHOWMAXIMIZED); ShellExecute(NULL,"open","C:\\Test.txt",NULL,NULL,SW_SHOWNORMAL);
一、system int system( const char *command ); 你可以传入一命oQ启动某个程序。如"ping www.vccode.com", "YourExe"{等。不q这里有几点要值得注意Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (1)、他不会立即q回Q直C启动的程序执行完成?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (2)、如果你启动是windowsE序Q它仍然会启动一个控制台Q这q人感觉太差劲了,但如果本w是控制台的Q而且又需要等待它的完成,那这是比较好的选择?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (3)、它的返回g表是否执行成功以及程序的退出码?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (4)、不能运?.txt文g?www.baidu.com"
二、WinExec UINT WinExec( LPCSTR lpCmdLine, //命o?/span> UINT uCmdShow //H口样式 ); q个API与API:system同样的用简单,同用是用命令行型式?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> 不过它与API:system相比Q有几个优点Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (1)、它?yu)启动了一个新q程Qƈ且立卌回,因此你的E序无需{待?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (2)、它的多了一个参敎ͼuCmdShowQ通过它你可以一定程度上控gH体的显C,比如让它后台q行而不昄出来?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (3)、它无论启动控制台程序还是windowsE序都只做你惌做的事?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> 不之处Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (1)、它完全与本q程qQ无法做些必要的控制?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (2)、无法得知启动的E序是否退出?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (3)、得不到启动的程序的退出码?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> (4)、不能运?.txt文g?www.baidu.com"
三、ShellExecute HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation,
LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); 它也有WinExec同样的缺炏V?/span> 它虽然传回一个HINSTANCEQ但他ƈ不是真正的句柄,我们仅能拿它来做一些错误值检查?/span> 但它的功能比前两者更强大Q它执行pȝ的Shell命o?/span> 1?中如果传?#8220;XX.txt”Q它们将不能成功执行QShellExecute却能很好地执行,它将启动一个默认的文字处理E序来打开它?/span> 1?中如果传?#8220;www.vccode.com”Q将不能成功执行Q而ShellExecute却能很好地执行,它将启动一个默认浏览器来打开q个|站?/span>
四、CreateProcess BOOL CreateProcess( LPCTSTR lpApplicationName, // name of executable module LPTSTR lpCommandLine, // command line string LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD BOOL bInheritHandles, // handle inheritance option DWORD dwCreationFlags, // creation flags LPVOID lpEnvironment, // new environment block LPCTSTR lpCurrentDirectory, // current directory name LPSTARTUPINFO lpStartupInfo, // startup information LPPROCESS_INFORMATION lpProcessInformation // process information ); 往往看到q个函数p人生畏,它参数多Q而且参数cd也如此陌生。是的,正是因ؓ如此它才功能强大Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> 但不要怕,作ؓ一般用,非常单!下面便是一个简单的例子(启动C?Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> STARTUPINFO StartInfo; PROCESS_INFORMATION pinfo; //对程序的启动信息不作M讑֮Q全部清0 memset(&StartInfo,0,sizeof(STARTUPINFO)); StartInfo.cb = sizeof(STARTUPINFO);//讑֮l构的大?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> BOOL ret=CreateProcess( NULL, //启动E序路径?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> "notepad.exe", //参数Q当exeName为NULLӞ可将命o攑օ参数前) NULL, //使用默认q程安全属?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> NULL, //使用默认U程安全属?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> FALSE, //句柄不?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> NORMAL_PRIORITY_CLASS, //使用正常优先U?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> NULL, //使用父进E的环境变量 NULL, //指定工作目录 &StartInfo, //子进E主H口如何昄 &pinfo); //用于存放新进E的q回信息 q样在创建成功这后我们就可以从pinfo中找到它的:q程句柄Q线E句柄,q程IDQ线EID 在附件源码中演示了进E序的启动,停止?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> 实际上我们可以通过很多方式如内存共享、父q程H体句体传入仍后从消息中获得子进E窗体句柄等Q来实现更多的控制?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /> 惛_好地掌握CreateProcessQ可参见人民邮电出版Cև版的<< Windowspȝ~程 >>Q它?#8220;q程”部䆾作了很详的说明? 例程Q?br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />#include<windows.h> void main() { HWND handle; printf("Function <WinExec>:\nIt can run a cmd command,but can`t open *.txt and \"www.*.*\"\n"); printf("Please press Enter go on\n"); getchar(); WinExec("mspaint.exe",SW_SHOWNOACTIVATE); /*winexec不能打开|站或txt文g*/ printf("Function <ShellExecute>:\nIt can run a cmd command to open file or web\n\n"); getchar(); printf("Open a txt file\n"); ShellExecute(NULL,"open","C:\\test.txt",NULL,NULL,SW_MINIMIZE); getchar(); printf("Open a web\n"); ShellExecute(NULL,NULL,"www.baidu.com",NULL,NULL,SW_SHOWNA); getchar(); printf("Run a cmd command:ping www.sina.com\n"); ShellExecute(NULL, NULL, "ping", "sina.com", NULL, SW_SHOWNORMAL); getchar(); printf("打开目录\n"); ShellExecute(NULL, "open", "c:", NULL, NULL, SW_SHOWNORMAL); getchar(); printf("览目录\n"); ShellExecute(NULL, "explore", "c:", NULL, NULL, SW_SHOWNORMAL); getchar(); printf("文g属性\n"); ShellExecute(handle,"properties","C:\\test.txt",NULL,NULL,SW_MINIMIZE); printf("%s",handle); /*shellExecute的第二个参数Zx行的操作(edit,explore,find,open,print,properties),也可为NULL*/ } /* SW_HIDE Hides the window and passes activation to another window. SW_MINIMIZE Minimizes the specified window and activates the top-level window in the system's list. SW_RESTORE Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position (same as SW_SHOWNORMAL). SW_SHOW Activates a window and displays it in its current size and position. SW_SHOWMAXIMIZED Activates a window and displays it as a maximized window. SW_SHOWMINIMIZED Activates a window and displays it as an icon. SW_SHOWMINNOACTIVE Displays a window as an icon. The window that is currently active remains active. SW_SHOWNA Displays a window in its current state. The window that is currently active remains active. SW_SHOWNOACTIVATE Displays a window in its most recent size and position. The window that is currently active remains active. SW_SHOWNORMAL Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position (same as SW_RESTORE). */
]]>libevent使用中要注意的问?/title> http://www.shnenglu.com/Tim/archive/2014/04/17/206622.htmlTim Tim Thu, 17 Apr 2014 09:35:00 GMT http://www.shnenglu.com/Tim/archive/2014/04/17/206622.html http://www.shnenglu.com/Tim/comments/206622.html http://www.shnenglu.com/Tim/archive/2014/04/17/206622.html#Feedback 1 http://www.shnenglu.com/Tim/comments/commentRss/206622.html http://www.shnenglu.com/Tim/services/trackbacks/206622.html 有了libeventQ对q类异步处理Q确实增加了许多方便性,只需要在调用event_set时传入自q回调函数Q自己就只需要安心睡大觉了(有事情时他会叫你的)?br /> 可是Q在后来目复杂后,几次发现目陷入无响应状态,也就是不崩溃Q不报错Q不退出,但是也不响应事情Q?br /> q真是个令h抓狂的事情!要知道:在基本上所有的代码都在我严密的TRY-CATCH天罗地网之下Q但是这个罪祸首却依然逍遥法外Q还找不C毫蛛丝马q! l过仔细的研IӞl于发现端倪:E序陷入q了libevent的loop之中Q?br /> Z么会q样了? 后来发现臛_两种情况D了这个问题: 1、某个网l连接对象已l正常或者异常close了,但是没有调用event_del删除q个对象Q他q在libevent的链中轮询; 2、因为libevent可以重复注册eventQ所以在某种逻辑下,不小心多ơ注册了某个event或者定时器后,libevent也可能会僉|?br /> 另外Q当时我希望能查看出错以后的libevent内部情况Q所以用了他的event_base_dump_events函数Q很可惜Q这个dump能提供给我的实在是少得可怜而且单得基本没有价值的信息。这个事实实在是让我感到很遗憾?img src ="http://www.shnenglu.com/Tim/aggbug/206622.html" width = "1" height = "1" /> ]]> Visual Studio查找中文的正则表辑ּ http://www.shnenglu.com/Tim/archive/2013/01/24/197539.htmlTim Tim Thu, 24 Jan 2013 08:32:00 GMT http://www.shnenglu.com/Tim/archive/2013/01/24/197539.html http://www.shnenglu.com/Tim/comments/197539.html http://www.shnenglu.com/Tim/archive/2013/01/24/197539.html#Feedback 4 http://www.shnenglu.com/Tim/comments/commentRss/197539.html http://www.shnenglu.com/Tim/services/trackbacks/197539.html 用什么办法能q速找些包含中文的句子呢?今天l于写了q样一个正则表辑ּQ很好用?br /> (".*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*") 直接在VS中用Ctrl+F或者Ctrl+Shift+FQ在"查找内容"中输?".*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*")Q就能找出所有这些中文字W串了! ]]> 非类型模板Ş参取数组的维?/title> http://www.shnenglu.com/Tim/archive/2012/11/09/194965.htmlTim Tim Fri, 09 Nov 2012 03:41:00 GMT http://www.shnenglu.com/Tim/archive/2012/11/09/194965.html http://www.shnenglu.com/Tim/comments/194965.html http://www.shnenglu.com/Tim/archive/2012/11/09/194965.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/194965.html http://www.shnenglu.com/Tim/services/trackbacks/194965.html 阅读全文 ]]> A*法实现 http://www.shnenglu.com/Tim/archive/2012/11/05/194537.htmlTim Tim Mon, 05 Nov 2012 01:04:00 GMT http://www.shnenglu.com/Tim/archive/2012/11/05/194537.html http://www.shnenglu.com/Tim/comments/194537.html http://www.shnenglu.com/Tim/archive/2012/11/05/194537.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/194537.html http://www.shnenglu.com/Tim/services/trackbacks/194537.html 阅读全文 ]]> 链表逆序的@环实现和递归实现 http://www.shnenglu.com/Tim/archive/2012/11/05/194535.htmlTim Tim Mon, 05 Nov 2012 00:44:00 GMT http://www.shnenglu.com/Tim/archive/2012/11/05/194535.html http://www.shnenglu.com/Tim/comments/194535.html http://www.shnenglu.com/Tim/archive/2012/11/05/194535.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/194535.html http://www.shnenglu.com/Tim/services/trackbacks/194535.html 阅读全文 ]]> dll的概cdll导出c(转) http://www.shnenglu.com/Tim/archive/2012/05/09/174100.htmlTim Tim Wed, 09 May 2012 06:34:00 GMT http://www.shnenglu.com/Tim/archive/2012/05/09/174100.html http://www.shnenglu.com/Tim/comments/174100.html http://www.shnenglu.com/Tim/archive/2012/05/09/174100.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/174100.html http://www.shnenglu.com/Tim/services/trackbacks/174100.html 阅读全文 ]]> hash函数——djb2、sdbm、lose lose http://www.shnenglu.com/Tim/archive/2012/04/26/172789.htmlTim Tim Thu, 26 Apr 2012 00:52:00 GMT http://www.shnenglu.com/Tim/archive/2012/04/26/172789.html http://www.shnenglu.com/Tim/comments/172789.html http://www.shnenglu.com/Tim/archive/2012/04/26/172789.html#Feedback 1 http://www.shnenglu.com/Tim/comments/commentRss/172789.html http://www.shnenglu.com/Tim/services/trackbacks/172789.html 阅读全文 ]]> sizeof和预处理指o http://www.shnenglu.com/Tim/archive/2012/04/20/172157.htmlTim Tim Fri, 20 Apr 2012 09:05:00 GMT http://www.shnenglu.com/Tim/archive/2012/04/20/172157.html http://www.shnenglu.com/Tim/comments/172157.html http://www.shnenglu.com/Tim/archive/2012/04/20/172157.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/172157.html http://www.shnenglu.com/Tim/services/trackbacks/172157.html 我们知道Qsizeof是在~译期就完成了计,在运行时已经是一个常数g。那sizeof能用在类g#ifq样的指令中吗?
{案一般是不行?/p>
关于预编译条件MSDN明确写着Q?The expression cannot use sizeof or a type-cast operator.
其实Q像#include,#if,#define{等q样的是在预处理q程完成了包含和替换,所以他们是预处理指令。而此时还没有到编译期Q还没有cd名称分析Qsizeof也就不能用?/p>
~译期完成的工作除了sizeof以外Q我们还x的就是模板的L{?/p>
]]> E序设计语言层次l构 http://www.shnenglu.com/Tim/archive/2012/03/30/169542.htmlTim Tim Fri, 30 Mar 2012 08:47:00 GMT http://www.shnenglu.com/Tim/archive/2012/03/30/169542.html http://www.shnenglu.com/Tim/comments/169542.html http://www.shnenglu.com/Tim/archive/2012/03/30/169542.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/169542.html http://www.shnenglu.com/Tim/services/trackbacks/169542.html 阅读全文 ]]> 用memcpy替代strcpy/strncpy http://www.shnenglu.com/Tim/archive/2011/04/02/143259.htmlTim Tim Sat, 02 Apr 2011 04:42:00 GMT http://www.shnenglu.com/Tim/archive/2011/04/02/143259.html http://www.shnenglu.com/Tim/comments/143259.html http://www.shnenglu.com/Tim/archive/2011/04/02/143259.html#Feedback 11 http://www.shnenglu.com/Tim/comments/commentRss/143259.html http://www.shnenglu.com/Tim/services/trackbacks/143259.html 阅读全文 ]]> 不对U边界编码风?/title> http://www.shnenglu.com/Tim/archive/2011/03/31/143130.htmlTim Tim Thu, 31 Mar 2011 09:07:00 GMT http://www.shnenglu.com/Tim/archive/2011/03/31/143130.html http://www.shnenglu.com/Tim/comments/143130.html http://www.shnenglu.com/Tim/archive/2011/03/31/143130.html#Feedback 5 http://www.shnenglu.com/Tim/comments/commentRss/143130.html http://www.shnenglu.com/Tim/services/trackbacks/143130.html 阅读全文 ]]> C语言嵌套注释 http://www.shnenglu.com/Tim/archive/2011/03/25/142726.htmlTim Tim Fri, 25 Mar 2011 09:18:00 GMT http://www.shnenglu.com/Tim/archive/2011/03/25/142726.html http://www.shnenglu.com/Tim/comments/142726.html http://www.shnenglu.com/Tim/archive/2011/03/25/142726.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/142726.html http://www.shnenglu.com/Tim/services/trackbacks/142726.html 阅读全文 ]]> 单就是美 http://www.shnenglu.com/Tim/archive/2011/03/25/142706.htmlTim Tim Fri, 25 Mar 2011 06:10:00 GMT http://www.shnenglu.com/Tim/archive/2011/03/25/142706.html http://www.shnenglu.com/Tim/comments/142706.html http://www.shnenglu.com/Tim/archive/2011/03/25/142706.html#Feedback 1 http://www.shnenglu.com/Tim/comments/commentRss/142706.html http://www.shnenglu.com/Tim/services/trackbacks/142706.html 我们在分析设计一个方案时Q是要面面俱刎ͼ使其从功能到展现Q从需求到扩展Q等Ҏ(gu)面面万能吗?
即不考虑是否存在q样一个方案,也不考虑q个最l方案实现所需的成本,单就是弄出来了Q我们会不会最l发现这已经背离了我们需求的初衷Q这不是我们需要的Q?/p>
是的。这是不需要的Q也是不现实的,更是不必要的Q?
《C陷阱与缺陗中W?章有一个很有意思的习题Q刚开始我q不理解此题的用意,臛_觉得攑֜q样一本技术书c中是多有?#8220;莫名其妙”的,但是后来发现q是对的。作者作Z个资q技术专Ӟ用自己几十年的经验研I了E序设计中的Ҏ(gu)面面Q在分n自己的经验时Q在最前面q此题来告诉后Z个意识Ş态的东西Q而且很明显他认ؓq在E序设计中也是需要首要考虑的?
q个题目是这LQ?#8220;在烹饪时你是否失手用菜刀切伤q自q手?怎样改进菜刀使得使用更安全?你是否愿意用这样一把经q改良的菜刀Q?#8221;
对以上这个题目,聪明的?zhn)是如何考虑的呢Q好好想一下,下面我就l出作者的真知D了哦~
AnswerQ?#8220;我们很容易想到让一个工h安全Q代h原来单的工具现在要变得复杂一些。食品加工机一般有q锁装置Q保护用者不让手指受伤。但是菜刀却不同,l这样一个简单、灵zȝ工具附加保护手指避免受伤的装|,只能让它失去单灵zȝ特点。实际上Q这样做最后得到的更像一台食品加工机Q而不是一把菜刀?#8221;
好了Q经典名a诞生了:“使其难于?#8216;M’常常会光于做‘聪明?#8217;Q正所?#8216;弄y成拙’?#8221;Q?
不愧是C语言的大师!我想C语言的哲学应该也是q样。C语言l历q么多年Q其初始的设计思想始终如一Q程序员了解他们在做什么,惟一的要求是E序员要明确地表达他们的意图?
q是放之四v皆准的哲学:单就是美Q?
]]> l构体变量初始化 http://www.shnenglu.com/Tim/archive/2010/06/12/117710.htmlTim Tim Sat, 12 Jun 2010 08:19:00 GMT http://www.shnenglu.com/Tim/archive/2010/06/12/117710.html http://www.shnenglu.com/Tim/comments/117710.html http://www.shnenglu.com/Tim/archive/2010/06/12/117710.html#Feedback 1 http://www.shnenglu.com/Tim/comments/commentRss/117710.html http://www.shnenglu.com/Tim/services/trackbacks/117710.html 仅仅对其中部分的成员变量q行初始化,要求初始化的数据臛_有一个,其他没有初始化的成员变量ql完成初始化Qؓ其提供缺省的初始化倹{?nbsp; 阅读全文 ]]> 【{】stdafx.h的作?/title> http://www.shnenglu.com/Tim/archive/2009/12/17/103416.htmlTim Tim Thu, 17 Dec 2009 10:05:00 GMT http://www.shnenglu.com/Tim/archive/2009/12/17/103416.html http://www.shnenglu.com/Tim/comments/103416.html http://www.shnenglu.com/Tim/archive/2009/12/17/103416.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/103416.html http://www.shnenglu.com/Tim/services/trackbacks/103416.html 阅读全文 ]]> 关于C++虚函数的研究 http://www.shnenglu.com/Tim/archive/2007/11/25/37292.htmlTim Tim Sun, 25 Nov 2007 14:32:00 GMT http://www.shnenglu.com/Tim/archive/2007/11/25/37292.html http://www.shnenglu.com/Tim/comments/37292.html http://www.shnenglu.com/Tim/archive/2007/11/25/37292.html#Feedback 2 http://www.shnenglu.com/Tim/comments/commentRss/37292.html http://www.shnenglu.com/Tim/services/trackbacks/37292.html 阅读全文 ]]> 华ؓ2008校园招聘北京W试最后编E题 http://www.shnenglu.com/Tim/archive/2007/11/24/37244.htmlTim Tim Sat, 24 Nov 2007 07:02:00 GMT http://www.shnenglu.com/Tim/archive/2007/11/24/37244.html http://www.shnenglu.com/Tim/comments/37244.html http://www.shnenglu.com/Tim/archive/2007/11/24/37244.html#Feedback 7 http://www.shnenglu.com/Tim/comments/commentRss/37244.html http://www.shnenglu.com/Tim/services/trackbacks/37244.html 阅读全文 ]]> 【{】C++中的function object http://www.shnenglu.com/Tim/archive/2007/10/15/34250.htmlTim Tim Mon, 15 Oct 2007 02:36:00 GMT http://www.shnenglu.com/Tim/archive/2007/10/15/34250.html http://www.shnenglu.com/Tim/comments/34250.html http://www.shnenglu.com/Tim/archive/2007/10/15/34250.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/34250.html http://www.shnenglu.com/Tim/services/trackbacks/34250.html 阅读全文 ]]> 【{】VC~程规范—程序员应该q样写代?/title> http://www.shnenglu.com/Tim/archive/2007/09/29/33218.htmlTim Tim Sat, 29 Sep 2007 11:08:00 GMT http://www.shnenglu.com/Tim/archive/2007/09/29/33218.html http://www.shnenglu.com/Tim/comments/33218.html http://www.shnenglu.com/Tim/archive/2007/09/29/33218.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/33218.html http://www.shnenglu.com/Tim/services/trackbacks/33218.html 阅读全文 ]]> STL问题pd一 http://www.shnenglu.com/Tim/archive/2007/09/13/32129.htmlTim Tim Thu, 13 Sep 2007 06:36:00 GMT http://www.shnenglu.com/Tim/archive/2007/09/13/32129.html http://www.shnenglu.com/Tim/comments/32129.html http://www.shnenglu.com/Tim/archive/2007/09/13/32129.html#Feedback 8 http://www.shnenglu.com/Tim/comments/commentRss/32129.html http://www.shnenglu.com/Tim/services/trackbacks/32129.html 一直在学习STLQ用的书c是王昕译的《C++ STL 中文版》,学习中生很多问题,特在q向各位高手hQ以下问题基本是按教材章节顺序给出的Q如果?zhn)手中也刚好有q样一本书Q那太好了Q这样就不会因ؓ我理解的肤浅而让(zhn)不明白题意QMQ请各位高手不吝赐教Q?br>STL问题pd一 1、《C++STL 中文版》第一章课后习题:1-4、解释ؓ什么在所写算法中使用其他U类的P代器Q而不是随机存取P代器Q?-5、解释ؓ什么宁愿定义一个仅能通过q代器来存取的数据结构,而不是让他可以被随机存取呢?
2、《C++STL 中文版》P代器部分一直介l输入、输厅R前向、双向、随P代器Q然而我以ؓ只要?lt;iterator>建立的对象就h随机q代器的功能Qؓ何讨论前向、双向呢Q?/p>
3、从《C++STL 中文版》第一章后面的习题看前向、双向、随P代器从性质和条件上有较大差别,请问q在深层上如何理解呢Q?/p>
4、《C++STL 中文版》第二章习题Q?-3“当T和U中有一个是constcdӞ我们可能需要经常构造一个pair<T,U>对象。下面的定义是否可以辑ֈq样的效果?如果不可以,误Z的理由?br>template<class T,class U>inline pair<T,U> make_pair(T& x,U& y) {return (pair<T,U> (x,y));}”
5、《C++STL 中文版?-4“hq出一U可能的~码情况Q得表辑ּ x.first < y.first || !(y.first < x.first) && x.second < y.second q不{同?x.first < y.first || x.first == y.first && x.second < y.second?#8221;
6、STL在他的文件中定义了指针和引用Q但同时qL定义常指针和常引用,Z两者必d开实现呢?
7、《C++STL 中文版》第四章Q?-6“写出一个分配器Q它?yu)对象存储在一个磁盘文件中Qƈ且维护一个小的高速缓存来存储E序内存中的有效对象?#8221;
8、《C++STL 中文版》第四章Q?-7“在U情况下Q分配器应该以与模板callocator不一致的方式来定义成员函数construct和destroyQ?#8221;
9?lt;algorithm>文g中sort_heap函数功能Qvoid sort_heap(RanIt first, RanIt last)重排由区间[first,last)中的q代器指定的序列Q生一个按 operator <排序的序列。但是最初的序列也必L一个同h operator < 排序的堆。这LQ那该函数的实际意义呢?
]]> Visual C++/MFC入门教程 http://www.shnenglu.com/Tim/archive/2007/04/15/21923.htmlTim Tim Sun, 15 Apr 2007 02:38:00 GMT http://www.shnenglu.com/Tim/archive/2007/04/15/21923.html http://www.shnenglu.com/Tim/comments/21923.html http://www.shnenglu.com/Tim/archive/2007/04/15/21923.html#Feedback 0 http://www.shnenglu.com/Tim/comments/commentRss/21923.html http://www.shnenglu.com/Tim/services/trackbacks/21923.html Visual C++/MFC入门教程》?
]]>
þþþþþ |
þ99Ʒ |
þþƷĻ |
þAV߳AVAV |
ھƷþþӰԺ |
þþþƷһ |
þþƷվ |
vaĻþ |
AëƬþþþƷëƬ |
þAVվ |
˺ݺۺϾþ88 |
þþƷav |
Ʒþþþþר |
þþþþ |
պƷþþþþ |
˾þþAV츾ɫ |
þþƷһӰ |
ձŷþþþѲ |
þþþһƷ |
avttþþƷ |
һaɫƬþ |
Ů㽶þ**ëƬƷ |
Ļþۺ |
Ʒþһ |
˾þó˳ۺ222 |
þþþƷ2019ѹۿ |
þþùƷվ |
þþƷAVɫ
|
ھƷþþþþҰ |
þˬˬƬAV |
þüƷ?V |
ƷŮþþm |
þAV߳AVAV |
ڸþþþþ |
һۺϾþù |
ҹAVëƬþ |
Ļþ |
þӰԺҹƬ |
ȾþùþƷ |
Ʒþþþþ³ |
Ʒһþ |