理想与现实之间

学习的最好方法就是blog

博客园 首页 新随笔 联系 订阅 管理

2004年9月7日 #

摘要: 大部分情况下,我们都通过看书或者读文章来学习一项新的技术,而有时候,看书会比较缺乏身临其境的感觉,看书的时候觉得自己都懂了,但实际操作起来又什么都不会。而且书上的例子大部分都是toy code类型的,起不了实际的作用,但是开放源码的程序,通常又太庞大,哪里是初学者能看懂的啊。那么能不能找到又比较简单,却又很实用的范例代码呢?有的!答案就在开发工具自动生成代码里!比如你新建一个Windows For... 阅读全文
posted @ 2004-09-07 19:10 Justin Shen 阅读(2116) 评论(7) 推荐(0) 编辑

2004年9月6日 #

摘要: 昨天和Sumtec谈到自动机和语法分析,一下子脑子有点混乱,把一些概念搞混了,看了半天清华的编译书也没有整明白...今天早上起来看了《离散数学及其应用》里的自动机一部分,才厘清了头绪。还是外国人的书讲得清楚一点。 昨天主要是把NFA和语法分析中的LL(1) LR(1)搞混了。事实上LL(1)分析也好LR(1)分析也好,使用的是一个基于下推自动机的计算模型,而不是有限自动机。下推自动机的... 阅读全文
posted @ 2004-09-06 17:52 Justin Shen 阅读(16019) 评论(86) 推荐(1) 编辑

2004年8月23日 #

摘要: STL.NET is new to Visual C++ and will ship in Visual Studio 2005.以下是stan lippman的系列文章中的开篇http://msdn.microsoft.com/visualc/?pull=/library/en-us/dnvs05/html/stl-netprimer.asp?frame=true"The working C++... 阅读全文
posted @ 2004-08-23 21:35 Justin Shen 阅读(857) 评论(0) 推荐(0) 编辑

2004年7月22日 #

摘要: 前几天在写程序的时候,发生了一桩惨剧。SQL Server的企业管理器,忽然罢工了。出错信息提示说没有默认的ODBC driver。但是我在.net里使用编程方式却可以访问SQL Server的数据。当时也没在意,以为SQL Server出了问题,就直接卸载了。然而之后就没法安装SQL Server了,总在最后一步配置的时候失败。打开安装的log一看,发现是因为没有ODBC Driver,导致不能... 阅读全文
posted @ 2004-07-22 13:13 Justin Shen 阅读(6642) 评论(19) 推荐(0) 编辑

2004年6月9日 #

摘要: 折腾了一星期,换了三种下载方式,终于把VS2005 CTP May 下载下来了。装上之后,做的第一件就是去看C++.Net的项目有没有发生变化。结果不负众望,所有的C++.Net项目都开始使用新的C++/CLI 语法了! So Great! 要好好试用一下 这里有一些截图 阅读全文
posted @ 2004-06-09 09:53 Justin Shen 阅读(2065) 评论(9) 推荐(0) 编辑

2004年5月17日 #

摘要: 初学win32 api程序设计的人,通常对于C语言的字符串和数字转换感到比较头痛。尤其像我这样只学过C++,却不谙C语言的标准库的人,使用起char*和atoi()来实在是如履薄冰 所以我总琢磨着在api程序里用上C++标准库里的string。经过一番折腾发现还是可以的。以下进入正题:首先我们知道windows为了解决unicode的问题,定义了一个TCHAR的typedef,会根据是否使用uni... 阅读全文
posted @ 2004-05-17 13:25 Justin Shen 阅读(2976) 评论(0) 推荐(0) 编辑

2004年5月1日 #

摘要: you should check out this: http://pinvoke.net/ 阅读全文
posted @ 2004-05-01 12:01 Justin Shen 阅读(1277) 评论(3) 推荐(0) 编辑

2004年4月30日 #

摘要: 以下是我在MS News Group里,对“什么情况下定义interface”这一问题的回答,基本上体现我现在对interface的理解,可能有不足或者完全就是谬误,希望能得到大家的指正:一个类实现了某个接口,就相当于声明我能够完成某项工作。比如一个类实现了IComparable接口,就相当于声明了我可以完成对自身实例进行比较的工作。 明白了以上这些,就可以回答,什么时候我们需要定义一个接口的问题... 阅读全文
posted @ 2004-04-30 22:38 Justin Shen 阅读(3110) 评论(8) 推荐(0) 编辑

2004年4月29日 #

摘要: 今天在微软新闻组里,看到有人问对于以下这个类:class Test { public Test() { throw new Exception("Can not use this constructor"); } public void Hello() { Console.WriteLine("hello Wo... 阅读全文
posted @ 2004-04-29 19:30 Justin Shen 阅读(2744) 评论(10) 推荐(0) 编辑

2004年4月26日 #

摘要: 在csdn里问了个问题,结果竟然没有人回答得上来...默~~~http://expert.csdn.net/Expert/topic/3003/3003569.xml?temp=.2239038主要问题,数据库里的内容会发生更改,想用缓存在DataSet里的数据去恢复它。但是DataAdapter.Update()只更新DataSet中,标记为modified的行,如果DataSet没有修改过,就... 阅读全文
posted @ 2004-04-26 20:45 Justin Shen 阅读(3949) 评论(8) 推荐(0) 编辑

2004年4月24日 #

摘要: 在C#中,Dispose()方法必须由程序员自己显示的调用,如果你忘记了这么做,那么在GC回收这个对象之前,它的非托管资源都得不到释放。相比较之下,C++中的析构函数就显得比较优雅:在对象退出作用域后,会自动调用析构函数。在C#虽然也有析构函数,但是那实际上是一个Finalize()方法。大家都知道Finalize()方法有很多问题。在C++/CLI(VS2005中的managed C++),析构... 阅读全文
posted @ 2004-04-24 11:16 Justin Shen 阅读(2761) 评论(5) 推荐(0) 编辑

2004年4月20日 #

摘要: 不用担心你没听说过type overload这个名词,因为它是我造出来的。其实是指在C#中,可以定义两个名字相同,只有模板参数不一样的类,像这样:class Gen{} class Gen{}这是完全通得过编译的合法程序。 虽然现在我还没有想到有什么具体的用处,但是先写在这里,说不定哪天就用上了。 阅读全文
posted @ 2004-04-20 22:24 Justin Shen 阅读(662) 评论(1) 推荐(0) 编辑

2004年4月19日 #

摘要: 通常情况下,选择文本的时候是按行进行的。也就是如果你从第一行当中开始选择直到第三行的中间,那么整个第二行都会被选中,但有时候你可能希望选中几行的相同几列。那么你可以试试按住Alt然后再用鼠标选择文本。嗯,really cool isn't it? 不止在vs.net的IDE里,在word里也可用以上这个tip我是从这里看来的,原文里说使用以上这个技巧 will elevate you to a... 阅读全文
posted @ 2004-04-19 23:38 Justin Shen 阅读(694) 评论(1) 推荐(0) 编辑

2004年4月17日 #

摘要: 要求是给出一个 int [] arr,求出这个数组中所有数的平均数。不加考虑的话,可以这样写:int Average(int[] arr){ int sum = 0; foreach(int i in arr) { sum += i; } return sum / arr.length;}然而,这样的解法是错误的,因为sum在... 阅读全文
posted @ 2004-04-17 18:14 Justin Shen 阅读(1170) 评论(5) 推荐(0) 编辑

摘要: Managed C++ is going to have a totally new syntax, and it is now called C++/CLI .i was informed of this from here. You may go and see qqchen's brief comparation of the old syntax and the new one. The ... 阅读全文
posted @ 2004-04-17 12:14 Justin Shen 阅读(539) 评论(0) 推荐(0) 编辑