梓瀚兄,我也很是喜欢VS2012,改进地方很多,比如所有开发人员常用的符号查找,在2012中非常的给力!
不过前一阵子在公司相关项目从2008迁移到2012的过程中,也发现了2012的一些bug和问题。。。
总体来说,瑕不掩瑜,推荐大家把各自的工程在可能的情况下迁移到2012!
我目前也在使用HG作为自己的代码管理工具,特点是便捷、易用,对于个人或者小规模团队开发而言功能足够;
@空明流转
是这样,在MFC出现之前,纯Win32 API的时代,extra byte是最便捷的对窗口自定义数据的存储方法;.net framework的设计者很有可能参考了这种设计思路,所以在UI界面的components上也带有可携带自定义数据的tag field;
引申出去,常见很多人问,“某某技术要学吗”“某某库、框架要摸索一下吗”,真要把某个技术、库等等研究透了,就常常会发现有许多设计思路和方法是相似的。
re: 进程间通信:管道 flagman 2011-03-01 17:24
在fork子进程之后,子进程似乎不会执行下面的这个分支段;
else
{
//子进程接收数据
close(fd[1]);
int n = read(fd[0],line,MAXLINE);
line[n] = 0;
cout<<"read message:"<<line<<endl;
}
虽然fork()只是执行了建立一个新的task_struct的操作,上面这代码在同步上是不是有些问题?
Boost的关于图论的Graph库里,就有基于bellmanford的实现,而且是可配置的。
re: 关于COM和.net的思考 flagman 2010-12-19 19:29
@小笨象
您可能理解错了,不同的语言和平台各有各的优缺点,也各有各的用处,要具体情况具体分析;
re: 10年编程之路(2010年度总结) flagman 2010-12-19 10:52
看来QBasic对为数众多的人影响很大,属于平时用得极少但绝对是启蒙好材料的那类;这QBasic在一本构建基于.net平台的compiler的书《Build your own .net language and compiler》里是作为目标语言来搭建对其的前端parser以及后端的code generation(.net的CLR环境里生成的是MSIL),不过这书对于实用级/工业级compiler极为重要的一个议题:优化,基本没涉及。
我的父亲因为冠心病,在十月底突然去世...
这位朋友,此时此刻我完全理解你的心情和感受。
一定要坚强,顽强的生活下去,取得成绩就是对他们最好的纪念。
有空就多陪陪你父亲吧。
re: 左偏树详解 ( 转载 ) flagman 2010-12-07 15:24
这里的左偏树,不知为何特意称为树,而不是堆(虽然也都是二叉树),很多其他资料将其名为左式堆(Leftist heap),作为优先队列的一种实现在实际中运用似乎并不多,到是二项堆和Fibonacci堆在实际中可能更为常见。
re: 卓有成效的程序员 flagman 2010-12-03 02:05
使用C++ template metaprogramming,不就可以定义DSL吗?
只是这样的实现,目前的问题是还没有办法保证定义出的DSL是type-safe的。
说两点,
1)这三维树状数组,占空间比较大,特别是问题规模快速增长时;
2)对于
void setLow () {
for ( i = 1; i <= MAXN; ++ i ) low[i] = i & (- i);
}
这样的短函数,topcoder上很多人都喜欢用宏定义,不知道为啥,难道受C的影响太深了,抑或为了节约函数调用开销?呵呵,比如上面这函数,可能写成如下,
#define SETLOW(low,MAXN) for( i = 1; i <= (MAXN); ++i) *((low) + i) = i & (-i);
re: Splay Tree 介绍 flagman 2010-12-03 01:44
splay tree到是KISS原则在数据结构设计中很好的体现。
其实Rob Pike在Notes on c programming中明确提出过,算法和数据结构的设计的首要原则是尽量保持简单,在他看来数组、链表、哈希表、二叉树足以提供大多数的应用的设计需求。而splay tree就是基于二叉树的简单改进,相比较红黑树复杂实现,而且摊还分析后的结果也不错。
闻道有先后,术业有专攻;
还是那句话,走自己的路,让别人去说吧。