一堆学术派闲的蛋疼总搞语法,没有一点实用价值。
就不能加点库吗?文件系统,通信,图形...
你把别人都秒了,别人还敢招呼你?唉,明明3你知道他说的不对,你也得点头说好。低调点,低调点...
re: 全新的美国计算机学科排名[未登录] chipset 2016-07-21 16:23
随便拉出一个来就能秒天朝的 北*大学,清*大学到火星...
re: 介绍XXTEA加密算法[未登录] chipset 2016-04-11 15:32
简单实用
remove函数并不是真正删除,而是取代,然后调析构,built-in类型没有析构函数结果就发现只是向前移动了一下,仅覆盖而已。
复制元素并非就一定不高效,对于built-in类型,复制比修改指针高效,毕竟程序设计里小对象比大对象常见的多。再说了,大对象哪里有动不动就拷贝的,那是设计失误。
vector的删除和插入都建议在尾进行,否则效率低下,因此就没有.pop_front这种货。
re: 2015武汉校园招聘归来[未登录] chipset 2015-09-28 17:48
@编程小学徒
想考哪个学校,把往年专业课题买来看看,专业课基本就那个范围,如果能进入复试,把那个学校往年期终考试题目买来看看就能对付笔试。考研时通常考完政治,大家都觉不出好坏,考完英语考数学时考场人数剩下2/3,再考完数学考专业课时剩下1/3。在高中时怀着憧憬,等你读了大学你会觉得大学真是浪费青春,读大学对研究生憧憬,等你读了研究生你会觉得研究生真是浪费青春,但是跨专业报考是得到某个行业门票的一条途径。
程序是所有计算机课程的实际体现,但有两样最明显,算法和数据结构还有英语。前者是基本功锻炼缜密的逻辑,后者帮助程序员自学和解决问题更快。
re: 2015武汉校园招聘归来[未登录] chipset 2015-09-28 01:30
为了混口饭吃,大家都不容易啊,原谅刷题的同学吧。话说学校里能教啥呀,都靠自己用心,有上进心才是最重要的,否则笔试面试再好也是白扯。从面试官的角度看考试没有错,换成我会找有潜力的或者上进心强的。
pool不拼接内存,一块大内存被分割成很多相等的小块,此时调用分配一块较大内存可能失败,不是因为内存不够用,而是因为全是分割成小碎块不拼接导致的。这是Pool的致命伤。再者Pool的效率也高不到哪里,以不拼接小块换速度的做法不值得提倡。
re: 离开天朝,跑到新加坡了[未登录] chipset 2015-01-13 19:39
苦海无边,终于熬出头了
re: 猜测一下QT的内存管理[未登录] Chipset 2014-10-16 19:02
很难,除非绑架编译器,否则怎么能很方便的知道指针在栈上还是堆上?
这种对象指针默认转换中类型都丢了,析构的时候调用哪个系够函数?手工删除时就死悄悄,用智能指针当然也照样死悄悄。何止对象这样啊,C++里永远都是这样,如果自己想自杀,C++绝对成全你,这是Human Right!
re: 动态规划解决最长公共子串问题[未登录] Chipset 2012-12-06 16:39
耗费内存太多
re: 一种简单的跨平台信号量[未登录] Chipset 2012-10-06 15:52
很好的总结
@陈梓瀚(vczh)
谢谢。显卡蓝宝HD5750 GDRR5 1G显存,中端游戏卡,应该没问题呀。
看来我得查下后台看看谁在作怪。
VS2012功能丰富,想干啥都方便了很多。
缺点就是太大了,机器运行起来明显感觉慢。这微软弄那么多C#写的插件塞在里面,狂吃内存还拖慢速度,就为快速开发?我机器配置E3 1230,8G内存双通道,1T硬盘64M缓存,主板芯片C202,Win7 x64系统,不应该是机器问题,运行别的程序飞快呀。
re: decltype的小“陷阱”[未登录] Chipset 2012-08-14 17:12
语法越来越复杂,太多的人不得不浪费太多时间熟悉那些花哨的东西,工业语言是这么进化的吗??C++总会有一天死在这帮家伙们的手里。。。
re: decltype的小“陷阱”[未登录] Chipset 2012-08-14 17:10
加入thread和一些必要的库也就罢了。弄一堆形式上的写法无非少敲几次键盘,形式上看起来爽点,没有任何实用价值,感觉C++越来越花哨了。
这棵树如果自己实现就加个父指针,从当前节点向上走到根节点,这条路沿路节点做一下标记,然后从第2个节点向上走,第一次遇到曾经标记过的节点就是最近公共祖先,一直走到根节点都没遇到就属于不同的两棵树。
这种考试的题目极少有实用价值。
re: 关于hash_map的一点感悟[未登录] Chipset 2012-07-24 20:23
有时间试试gcc的unordered_map吧,注意版本号4.6.3以后的,4.6.2版本的哈希表比4.6.3的哈希表处理字符窜时慢的不是一点半点。处理大量字符窜,尤其字符窜很长时,因该比SGI_STL的哈希表快得多。gcc的哈希表处理整数可能比SGI_STL的哈希表要慢,主要是Allocator作怪。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-28 00:04
@墨魂
Gnome和KDE都是应用,Linus Torvalds也在公开场合说过KDE做的很不错,否则在那个C的世界KDE早死了。
Qt的版本升级很快,看来很多人在用(如果没几个人用那还有必要频繁升级吗?)再想想Qt商业应用得花钱买版权,如果Qt跟GTK+比真的那么差,谁愿意花钱买不好的东西呢?用免费的GTK+(C)或gtkmm(给C++用)岂不更好?
顺便说下zjh贴的那段代码,我真看不出是C的。C89和C94没有//的注释符号,C99的规定是何年月啦,微软的编译器哪里能升级那么快?Win2K能赶得上吗?
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-27 17:33
@墨魂
Gnome和Xfce都用C,但是速度差别那么大怎么解释?很多事情跟语言关系不大对不对。再举个例子,Chrome,FireFox,IE都用C++来写,速度和资源消耗是不是也差别很大?这又怎么解释?
我再举个例子吧,MTL听说过吧,做计算的。做数值计算,C和C++没法跟Fortran比速度,同样的算法,速度得差20%,但是MTL开发出来后,尤其4.0以后把Fortran都秒飞了,你能说C++不行?那为啥不用C来做,如果C真的那么快?
任何语言都有优点和缺点,否则某种语言早就一统江湖了。。。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-27 17:20
@zjh
Java写系统还真有,也不是什么毕业设计。你可以谷歌下JNode,除了一点汇编,其它全是用Java写的。
至于你说把虚拟机固化到芯片里,虽然我没见哪家这么干,但是我确实听说有的ARM芯片可以直接执行字节码。
我们做嵌入式,芯片的计算能力非常有限,内存也跟台式机没得比,是很在乎资源消耗的。以前一直认为C++比C慢很多,耗费资源也多,关于C和C++之间的速度差别查阅了很多资料,评测过N次,发现几乎没啥差别。
C++的缺点是很明显的,新手很容易写出垃圾代码,速度慢耗费内存多,但优点也很明显。我们目前做的一个程序大约2百万行源代码,C++代码大约90%以上,C代码大约5%,还有1%不到的Lua。如果C++的部分也用C来做,你想想源代码量会有多大,维护起来会有多痛苦...
re: C和C++在两个小问题上的对比 Chipset 2012-03-27 00:48
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-27 00:31
就说NT吧,不是微(micro)内核,也不是单(monolithic)内核,应该算Hybrid。你可以搜索到NT架构,我也不清楚你说哪一部分。HAL层我估计应该用汇编,据说这些汇编主要来自一个祖籍台湾人的贡献(你可以了解一下微软的历史,那几个技术鼻祖)。再上面一层(Kernel mode drivers 和 micro kernel),古老的代码应该是C写的,后来改写的代码是C++的,再上面也是这样,古老的代码是C的,后来的是C++的。其实不仅Windows,Office也是这样的,最古老的代码是汇编,后来的用C,C++出现以后所有的新东西都用C++来写。你不是有win2k代码吗,你最好找到我说的那一层看看是不是这样。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-27 00:13
@zjh
建议你谷歌一下吧,或问微软的架构师,感觉这玩意没啥好争论的。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-26 21:35
@墨魂
如果你还要比,我还能给你举出更多例子说明C++比C快,耗费内存也少,如果有人说C++比C快耗费内存少,我同样也能举出很多反面的例子。。。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-26 21:31
@墨魂
唉,那个排名能说明个啥呀,跟效率没关系是不是?
其实C++和C速度上没差别,你可以看下struct和class的内存布局,内存布局都一样,哪来的速度差别呀。。。
C++唯一慢的地方是虚函数(C没有),需要查虚表,就一两条指令的开销带来的好处是不言而喻的。。。
至于Gnome和KDE,画面质量不同,内存和计算量相差那么大,比速度和内存有意思吗?你咋不拿控制台给Metro比速度和内存呀。。。
C++是有很多缺点被很多人指责,编译慢,语法太复杂,新手很容易写出烂代码。。。这都是真的,但是不恰恰说明很多人在用C++吗?否则怎么可能发现这么多问题呢。。。就如同我们天天骂windows一样,你见过几个人骂Linux?没有几个人用,哪里能发现那么多问题。。。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-26 20:54
@zjh
顺便给你扫盲一下吧。微软的所有产品(除了.net框架的一部分基类用了C#),其余是一色的C++程序,就连C#编译器都不例外,当然了,个别地方有点Intel汇编。
若干年前Windows Phone上尝试了一下用C#写了个软键盘程序,发现速度太慢,最终只好又退回到C++。DOS是用汇编写的,从Win95以后,都是C++代码外加少量汇编。Win2K的代码泄漏过一次,不知道现在网上是否还能下载到,是用C++写的,这个能看到。
不要觉得WinAPI是些C代码就认为Win内核是用C写的,你可以去问微软的架构师。。。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-26 20:43
唉,我说楼上的那位。Win内核是用C++写的,少量Intel汇编,你去问微软的架构师好了,我不解释。。。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-26 17:43
http://www.phoronix.com/scan.php?page=home这里有很多比较,有硬件的,也有软件的。
至于你文中提到的C++抛出异常,我真想知道有多大开销,问题是你抛什么异常,怎么抛异常,怎么处理异常。根据经验,异常处理会难倒很多C++老手,所以我怀疑你怎么使用异常,会不会很好的使用。
C语言稳居什么排行榜的事情跟效率有关吗?既然C那么好用为何比排名第一呢?你不觉得你那种论断荒唐吗?
至于你提到的图形库,GTK+和QT,这玩意怎么比呀。作出的图形不同的画质计算量会千差万别。都是用C写的界面,GNOME和XFCE速度相差很大,这怎么解释。即使如此,KDE也未必比Gnome慢哪里去,还在上面那个链接,你自己看。
re: C和C++在两个小问题上的对比[未登录] Chipset 2012-03-26 17:12
C语法和用法相对比较简单,C++语法和用法相对复杂,或者说看你会不会用C++罢了。小程序比较快慢没有意义,上下差不了几个毫秒,可以看成误差。我们还是比个比较大的程序吧,你觉得最新的Linux系统显著比最新的Windows快吗?前者是C写的,后者是C++写的。测试了很多项,都是常用的,除了文件读写外(EXT4对NTFS,个人觉得是格式问题),其它项Linux全军覆没。在Linux一个网站上比较的Ubantu和Win7,自己谷歌一下吧,我不解释。
小的容易做到,boundary tags, bitmap, freelist都行,大的需要比较复杂的数据结构,建议用PTrie,你可以参考下DLMalloc,谷歌下。
如果多处理器并行环境,那就非常困难了,传统的并发控制机制会成为瓶颈,还要小心False sharing, blowup...,你可以参考下JeMalloc,谷歌下。
不像楼主说的那样,我们这里女程序员就算占不到1/2,肯定超过1/3
re: 快排的一种简易写法[未登录] Chipset 2012-03-05 01:17
需要用到直接插入排序,堆排序和三点取中找支点,然后分割,有点麻烦,到这里去看怎么优化的:
http://www.cppblog.com/Chipset/archive/2011/08/16/153546.html或者把STLPort代码下载下来去里面找,原理是一样的。
我主页上有常见的14种排序,如果单线程的话,快排是最快的,多线程需要重新设计,太麻烦,最容易实现并行的排序个人认为是归并排序。
re: 快排的一种简易写法[未登录] Chipset 2012-03-04 21:34
你的速度不行,数据结构书上的更垃圾。
re: 可悲的人情人节,找工作求助[未登录] Chipset 2012-02-15 17:02
如果你家是东北的,我可以推荐你来我们这边做嵌入式,不知道你是否有兴趣。
re: 一个老锅炉工的故事[未登录] Chipset 2012-01-28 20:37
@123
啥意思啊,对天朝没信心?
re: 蜗牛排序--我见过的最慢的排序 Chipset 2012-01-09 18:21
@.
猴子排序理论上最坏情况下时间复杂度为无穷大,最好情况为O(n),一般情况为O(n*n!)。可见确实比我的蜗牛排序慢。
猴子排序伪代码如下:
while (没有排好序)
打乱当前序列的顺序;
很同情博主经历,很佩服博主自强不息的精神。
工资跟当地生活水平相关,跟做的事情相关,跟周围环境或者说公司本身相关。
估计你的某句话或某几句话得罪了某几个看客了,以后说话谦虚点,做人低调点就是了。
唉...
内存管理系统的事情,对C++要求这么高,是不是太过分了。new就是一个壳,调了API。当然,最好别重载全局new,局部的我看也最好别重载。一般程序new就足矣,多CPU并行和吞吐量的程序,只能自己来管内存,否则慢也就罢了,还出一堆碎片。
系统管理内存都做不到完美,指望语言级别依赖于实现的new能做好?看看系统内核每次升级,有多少改动发生在虚拟内存管理器...
Douglas Comer也得罪你啦,讲点道理行不?
Linux Kernel也大量用到了动态内存分配。既然操作系统内核都不怕动态分配内存造成碎片,应用程序为什么要害怕?
晕,什么时候操作系统都不怕碎片啦?linux内核原来用buddy,2.2以后来用slab因为啥原因啊?类似情况还有FreeBSD5.0, NetBSD4.0和Solaris2.4以后。
re: C++ __int64用法[未登录] Chipset 2011-10-20 16:40
__int64是Win的,不是C++的,int64_t是C++新标准才有的,但是新标准还没下来
long long是C的(C99),也不是C++的。
可以自定义两个32位整数,一个存高位,一个存低位,一个struct结构,就有了64位
看了三篇文章。不知道该说啥好,单CPU,DLMalloc足矣,其它我都不看好,最不看好用完最后一次性释放的内存池,原因不解释。
多CPU,ptmalloc3,或glib里的内存管理器(以ptmalloc3为基础的改进),谷歌的TCMalloc,还有Free BSD的Jemalloc,以及Hoard。多CPU,碎片率低,好的线性加速比是关键,Jemalloc很强。TCMalloc看上去像个多CPU的自有列表内存管理器,加速比也不错,且有垃圾收集,但是启动速度跟启动Java虚拟机绝对有一拼...这些都是免费的。至于那些要钱的,我懒得一提...