C++博客 :: 首页 ::  :: 联系 ::  :: 管理
共2页: 1 2 
re: Chaos on Graphics 10.21 chenger 2007-11-30 22:17
图形学什么的我不懂,不过很佩服lz的执着,有能力的人到哪里都会发光。
re: 去掉string里面的所有空格 chenger 2007-11-28 21:54
这个是尾递归啊,直接改成循环不更好
万一有一行巨长的,直接栈溢出了……
当然你要说没那么长的,也无所谓
re: YC 浏览器 chenger 2007-11-18 23:19
虽然也很佩服他的编码功力……
不过,去掉了运算符重载也就算了,居然连模板和函数重载都去掉了,这还叫C++吗?还真就是一个C with class。
至于编译速度比VC++快云云,要知道人家支持的是完整C++,也就是包括函数重载和模板,而这两块都相当耗编译时间。特别是模板系统,绝对是C++编译器作者最头疼的东西,这个YC++没有模板,快一点也可以理解。还有,我怀疑他有作多少代码优化,VC++肯定包含大量优化,优化需要对代码做大量分析,很占时间。如果想要编译速度,那么只能减弱或者减少优化,两者不可兼得。
当然如果他把自己定位在一个快速原型开发的位置上,也未尝不可,但这是C++语言又显得力不从心了些。还不如那些脚本语言来的好用。
我没用过产品,所以这些都是一些推测。我是很佩服作者的,因为自己也写过编译器,知道实现这么一个东西需要很多工作,不过记者有乱吹捧之嫌。
如果用非标准的散列表话,应该会更好
对付这种应用,散列表一般是最佳选择
还好0x里散列表要进标准库了
re: 高起点C++学习之路 chenger 2007-10-30 10:22
可惜,C++已经风光不再了
C++的语法……感觉实在和优美搭不上边
看过lua的,稍微读过stl
re: 学习C++应该看的几本书 chenger 2007-10-14 20:59
太多了吧,虽然是好书
比如第一层面,我个人认为把TC++PL和primer看过就够nb了,况且这两本书绝对不是那么容易看下来的。
effective,exceptional,我觉得不如推荐一本c++ coding standard实用。
对于STL,The C++ Standard Library是有必要推荐的,但更多的应该当字典用。
template的高级技术,什么Meta Programming之类的,其实没有太多必要了解。
最后是底层,Inside Object Model这样的书,个人觉得读一部分就可以了,很多纯粹是给compiler作者看的。
以上个人意见
re: 符合量子性质的程序 chenger 2007-08-10 17:46
老实说,科普的例子很容易让人对量子力学产生误解
有所谓quantum computing的研究,就是利用量子体系可以处在不同态的叠加这一特性(实际上当然很复杂),可惜离实用太远……
re: 请 教 chenger 2007-04-22 10:13
用模板不是更好?
template <typename T>
void sort(T v[],int size)
{
for(int i = 0;i < size;++i)
{
for(int j = i;j < size - 1;++j)
{
if(a[j]>a[j+1])
swap(a[j],a[j+1]);//标准库里好像有这个函数
}
}
}

不知道对不对……这个sort,如果代码没错的话,可以适用于所有能够用<比较大小的类型,此外要支持赋值,总之要让swap函数能工作。当然,更好的办法是提供两个迭代器begin,end指明排序范围。建议楼主去看看STL里算法的实现。
这应该是最原始的办法
re: 未完成东西中的完成部分 chenger 2007-03-29 12:54
看到了expression template……确实是好技术,虽然用得不多。
re: 又是未完成的东西 chenger 2007-03-27 12:15
还是原始的办法好
搞科学计算的,就不要太讲究什么封装,用类都显得多余
其实更重要的问题可能是比较底层的,比如缓存命中等等。至于用模板技术,已经有bliz++(是不是叫这个名?)等库在先,不如去研究研究。其实如果用模板,可读性更差,除非对template了解很深入,否则几乎看不懂
re: 纯C编写的矩阵工具包 chenger 2007-01-01 12:36
三天掌握C++?梦呓吧
re: 据说是Google面试题 chenger 2006-12-12 17:50
@heying0
是用Vim格式化成html,然后再贴上来
re: 寻找最长连续递增子序列 chenger 2006-11-22 12:55
都可以用动态规划解决,不需要回溯
re: 百度公司来科大的面试题 chenger 2006-11-10 19:04
说实在的,一下就想到了作者所说的鬼魂算法。
是个智力题
线性同余法不是很好的方法,很多随机性的测试都通不过。
现在有很多非常好的算法实现,都比较复杂。可以看看W.W.Tsuang的一个lecture,
Random Number Generation and Testing
这个只能算是STL的应用,和Meta-Programming没什么关系……
re: Google面试题之补充 chenger 2006-09-17 13:25
后来我也觉得那个不正经。
我认为还是正经解决一下比较好。做到这个份上,也差不多了。
re: 据说是Google面试题 chenger 2006-09-16 15:37
@张沈鹏
看了你的算法,写得比我的好。主要是little函数,我没有考虑到。
用数组?感觉一般只有在做算法题时才这么干
Dive into Python是本好书
入门的话A Byte of Python很不错,我是一口气看完的。都有中文电子版。
re: 据说是Google面试题 chenger 2006-09-14 23:00
@张沈鹏
能说详细一点吗?具体是用什么方法?
re: 一个语言细节问题 chenger 2006-09-12 12:55
问题好像是自增运算符到底在什么时候被求值
re: 使用UNICODE提高效率 chenger 2006-09-11 20:54
梁肇新那本书……
关于他写的Windows编程的东西,我不是太了解,不好评论。
只是觉得看他的文字很令人不爽。
re: 读VC++内幕之体悟 - 11 chenger 2006-09-10 20:48
就这么一点?
re: 临时对象的生存期 chenger 2006-09-10 15:41
都试过了,不管release还是debug,行为是一样的。
我察看了一下vc中string的实现,它使用了一个union来保存字符串,如果字符串比较小,那么就用栈上的数组来保存。在析构的时候,会重新设置字符串的最后一字节为0。
re: 临时对象的生存期 chenger 2006-09-10 12:28
@含笑半步癫
最好的办法还是去看VS的stl源码,不过感觉VC STL的可读性极差……
我虽然一直在说vs2005怎么样怎么样,不过我的电脑上只装了VC++ 2005 Express,比起vs来,除了基本的ide和编译器,别的都很受限制,比如默认不带Windows SDK,也没有MFC。
我的代码都是用Vim写的。Vim里可以直接把着色的源码转换成html,然后再粘过来。唯一的问题是缩进有时候要出点问题,似乎C++博客对pre标签作了些处理,只好手工调整了。
re: 好像想写点什么? chenger 2006-09-09 10:44
原来是这个,看到英文没想起来
re: 据说是Google面试题 chenger 2006-09-09 10:28
@Optimistic
不清楚。面试的话可能是手写吧。
re: 据说是Google面试题 chenger 2006-09-09 08:35
我觉得你的算法有一点问题。在main函数的while循环里面,iNowOneCount应该是小于i的所有数的各位数字上1的个数吧?你的算法是把i本身也算在内的,跟我的定义不一样。当然这没什么,问题是iPreCount = -1。比如i=11的时候,结果应该是4(包括11在内),而这时候iNowCount = 3,显然不对。我的建议是把iPreCount 干脆设为0,对大于1的数,都能算出正确的结果。1就特殊对待了吧。

erac的算法好像是直接计算每一个数的各位1的个数然后加起来。我原来以为这样算比较慢,所以找了一个直接计算的公式,实际跑了一下,感觉差不太多。
re: 好像想写点什么? chenger 2006-09-08 12:46
interval tree是什么东西?我只知道平衡树是能保持插入搜索都是nlogn的
re: Return of Turbos chenger 2006-09-08 12:28
@沐枫
想想也是的,否则不太可能做到这么快就发布。
希望以后能有更好的作品吧。
re: Return of Turbos chenger 2006-09-07 15:01
我以前装BDS也是这样……看来想用Turbo就只能系统重装了。
re: Return of Turbos chenger 2006-09-06 22:46
prerequisites都可以从microsoft上下载
感觉这个Turbo C++就是把BDS拆了再改了个名字。不过
Turbo C++在我的机子上死活有问题,所以到底怎么样也不知道。
VCL用C++重写……应该没有。
re: 临时对象的生存期 chenger 2006-09-05 21:08
我不但是学生,而且是业余……
也就是自娱自乐
re: 临时对象的生存期 chenger 2006-09-05 18:16
我不是说g++错,在这个问题上g++和VC8的处理方式都没有问题,都符合标准。文中也说了,只是觉得g++的这个string实现比较容易让人误解。既然程序员不应该用,那么编译器或者库作者干脆就让其不可用不是挺好的吗?至少,出个明显的错比运行了半天然后莫名其妙地crack掉好多了
现在的编译器都实现了返回值优化,一定程度上能减少拷贝次数
re: 想写个脚本解释器 chenger 2006-09-05 17:48
事实上,lua的语法设计完全是为了满足性能上的需要。就个人感觉,lua的语法也还算不错,当然和C++风格不同。
re: 临时对象的生存期 chenger 2006-09-05 17:42
弄弄清楚总是好的。而且它原来的例子更迷惑一点:

string get_str()
{
return string("hello");
}

int main()
{
const char *p = get_str().c_str();
cout << p << endl;
return 0;
}

虽然实质上是一样的。文章里的例子是我自己编的,比较矫揉造作。
re: zlib 压缩管道 chenger 2006-09-03 16:58
为什么要把决定压缩程度的参数作为模板参数呢?看不出有这个必要,而且不直观
re: 一个微秒级的定时函数 chenger 2006-09-02 19:38
是调用WIN32 API的……
收藏一下
re: 读后感:Doom启世录 chenger 2006-09-02 19:29
@Corsair
这边会跟donews的一块更新
找了好多,没有特别满意的
re: 读后感:Doom启世录 chenger 2006-09-01 09:05
@子弹
的确,像Carmark这样的人只能说是不世出的天才
而且非常专注,这就很可怕
听说VC6对C++标准的支持很不好,特别是template。居然连min max这样的简单模板函数都搞不定?
还是用g++或者vs2005得编译器好
re: 读后感:Doom启世录 chenger 2006-08-27 20:26
@claire
已经发了
min和max两个宏用标准库提供的min和max算法代替更好些
re: 买了几本书 chenger 2006-08-25 08:09
书城是没有的。现在的计算机书,也实在是忒贵了,effective c++要58块,应该回南京再买的。
re: 买了几本书 chenger 2006-08-24 16:55
一楼也有几间不错的。
共2页: 1 2