CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 212984
GoodHope
:
两个字符串加同一字符串,怎么办?
[阅读: 487] 2005-10-12 16:29:26
一个在头部,一个在尾部。
相关信息:
C/C++比Delphi好的一个地方
(30字)
(
GoodHope
[551]
2005-10-12 15:50
)
这个自己可以改设的。。。我是觉得delphi没有宏是失策
(15字)
(
haitao
[492]
2005-10-12 15:52
)
我个人认为宏不是好玩意。自己的语法搞不定了,要借助另外的东西来搞,相当于凭空引入另外一套语法。这样的语言就显得杂了。
(空) (
pcplayer
[405]
2005-10-12 15:53
)
有时候小的“重构”,用宏很简单
(20字)
(
haitao
[352]
2005-10-12 15:56
)
绝对要避免宏
(16字)
(
GoodHope
[353]
2005-10-12 16:00
)
小用怡情,大用伤身
(48字)
(
haitao
[369]
2005-10-12 16:03
)
没脚得宏不是c/c++的语法,也没脚得不好用,呵呵,自然有可以用到的地方
(空) (
Yxd
[481]
2005-10-12 16:43
)
靠,你还想在Delphi里面加宏。那还不如去用C++呢。
(58字)
(
GoodHope
[496]
2005-10-12 15:54
)
好的模板实现到可以加一下。
(空) (
GoodHope
[378]
2005-10-12 15:55
)
是啊,delphi已经做了自己的内存管理
(11字)
(
haitao
[385]
2005-10-12 15:57
)
DELPHI 2006 把DELPHI一直用的内存管理器改为了FAST MM。据说可以直接拿FAST MM替换D7的内存管理器,编译速度和编译结果的运行速度都快很多。
(空) (
pcplayer
[633]
2005-10-12 15:59
)
版本号也跑得太快了吧
(空) (
piip
[347]
2005-10-12 16:32
)
D3后ANDERS本来是想加垃圾收集器的。没加成,就跑去MS加到DOT NET里了。
(空) (
pcplayer
[436]
2005-10-12 15:58
)
delphi最好用的就是string。。。c/c++里用起来累死了
(84字)
(
haitao
[566]
2005-10-12 16:01
)
string好用。不过用string在某些时候影响效率。不讲究效率的地方就无所谓了。
(空) (
pcplayer
[425]
2005-10-12 16:04
)
效率比CString总要好些。
(23字)
(
GoodHope
[458]
2005-10-12 16:06
)
提到效率,C++是怎么做的?s:=S1+S2 这样的语句,要重新分配内存,所以效率比较低。C++怎么处理?
(空) (
pcplayer
[521]
2005-10-12 16:05
)
你以为C++就快啊
(空) (
GoodHope
[348]
2005-10-12 16:06
)
如果自己实现的内存管理、string的实现
(27字)
(
haitao
[437]
2005-10-12 16:08
)
C++里,我想它也一定要先为缓冲区分配内存,然后再把2个string的数据做数据搬移搬进缓冲区里去。如果这样做,就和S:=S1+S2没区别。有更厉害的办法吗?
(79字)
(
pcplayer
[676]
2005-10-12 16:11
)
NO
(空) (
GoodHope
[342]
2005-10-12 16:14
)
有!
(59字)
(
haitao
[352]
2005-10-12 16:16
)
呃,这个是Pascal还是C?
(空) (
GoodHope
[338]
2005-10-12 16:17
)
伪代码,实现的思路
(78字)
(
haitao
[418]
2005-10-12 16:20
)
等字符串的运算多一点,整个string结构会成为一张网。
(7字)
(
GoodHope
[448]
2005-10-12 16:22
)
所以没有实际的实现是这样采用的
(17字)
(
haitao
[422]
2005-10-12 16:24
)
delphi的字符串本来就是引用计数的。我这里说的是 S:=S1+S2啊。好象编译器没有这样做:把S1和S2的指针放到S1里去。
(35字)
(
pcplayer
[519]
2005-10-12 16:24
)
我的伪代码就更进一步,实现了s:=s1+s2也可以引用计数
(71字)
(
haitao
[371]
2005-10-12 16:26
)
靠,你整了个链表了。不是简单的string了。
(空) (
pcplayer
[451]
2005-10-12 16:29
)
程序员不用关心string内部的实现
(16字)
(
haitao
[356]
2005-10-12 16:34
)
两个字符串加同一字符串,怎么办?
(12字)
(
GoodHope
[486]
2005-10-12 16:29
)
s:=s1+s1;?
(84字)
(
haitao
[437]
2005-10-12 16:33
)
std::string默认有自己的处理办法,你也可以定制allocator来取代默认的内存管理办法
(空) (
pinxue
[482]
2005-10-12 16:31
)
WoW归来?
(空) (
GoodHope
[315]
2005-10-12 16:33
)
那就是末拌啦。。。
(空) (
Yxd
[368]
2005-10-12 16:41
)
用BSTR呗(or CComBSTR,其实对BSTR做了狠简单的包装而已),可以满足Pascal子窜这种length-prefixed strings的特性,又可以当内存指针传来传去。
(空) (
Yxd
[500]
2005-10-12 16:37
)
宏实际上相当于代码生成器的脚本。。。
(29字)
(
haitao
[423]
2005-10-12 16:14
)
是啊,宏就是脚本语言。既然生成代码想偷懒,不如直接把画的UML图变成代码,这不比写脚本语言更舒服?
(空) (
pcplayer
[515]
2005-10-12 16:25
)
小用怡情,大用伤身 (48字) (haitao [5] 今天 00:03)
(空) (
haitao
[357]
2005-10-12 16:27
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录