51CTO技术论坛 » 专家门诊 » 【第62期实录】精解C++系统架构及常用设计模式的应用        上一帖     下一帖    查看完整版本

页: [1] 2 3

零距离2008-3-28 05:32
【第62期实录】精解C++系统架构及常用设计模式的应用

[quote]
[quote]
[b]讨论主题区域:[/b]<BR>
<BR>
[color=blue][size=6][b]精解C++系统架构及常用设计模式的应用[/b][/size][/color]<BR>
<BR>
[b]相关技术资料:[/b]<br>
<br>
[attach]76644[/attach]
[attach]76645[/attach]
[/quote]
[quote]
[color=red][b]活动时间:[/b][/color]<BR>
<BR>
  此次活动时间是04月3日下午14:00点-17:00点,请大家在提问的时候保持跟这期活动的主题密切相关,方便问题有针对性的及时处理,严禁灌水,谢谢![/b][/color]<BR>
[/quote]
[quote]
[color=Red][b]专家介绍:庞向才[/b][/color]<BR>
<BR>
[attach]76646[/attach]<BR>
<BR>
  毕业于解放军信息工程大学测绘学院计算机专业,在中兴通讯股份有限公司(上海)研发体系网优开发部担任网优软件开发工程师,一直使用C/C++ 进行嵌入式、GIS、系统软件开发,3年C/C++开发经验。2008年1月参加51CTO主办的[url=http://www.51cto.com/os/solaris_qa/][color=blue]“拥抱开源,从Solaris 10起步”[/color][/url]系列有奖答题活动,并在活动中出任特邀专家一职。2007年9月申请成为51CTO技术论坛“Unix/Solaris/BSD”版块的技术版主。<br>
[/quote]
[quote]
[b][color=red]门诊活动奖品:[/color][/b]<BR>
<br>
  参与用户可获得“专家门诊纪念勋章”一枚(时效一周),到下期专家门诊活动时结束。
[/quote]
[quote]
[color=red][b]注意事项:[/b][/color]<BR>
<BR>
  专家门诊活动进行当中仅对本站会员开放,如果您想参与提问,或者是查看专家回复请点击<a href='javascript:showlogin2()'><font color=red>登陆>>></font><BR>
[/quote]
[quote]
  [url=http://www.51cto.com/exp/exp_online/][color=red]历届专家门诊及活动规则流程介绍>>>[/color][/url]
[/quote]
[/quote]

和了的他2008-3-28 15:04
:victory::victory::handshake

wishfor2008-3-28 18:34
hhh

wishfor2008-3-28 18:34
支持

wishfor2008-3-28 18:34
支持

ssbird2008-3-29 04:32
支持c++

wpng202008-3-29 10:46
支持c++

ddsbn2008-3-30 14:11
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasasasas

ctmcc2008-3-31 02:20
回复 #2 和了的他 的帖子

高人啊!!

hades02202008-3-31 06:27
谢谢!!!!

jooven2008-4-1 13:42
帅哥,想不到你也上榜了。还很帅嘛。呵呵

steven732008-4-2 05:46
支持!!!

mvpdx2008-4-2 12:07
支持C==

ecdragon2008-4-2 13:12
原来的号不知为什么变成-1000多分,没法为了下载你的书只有搞了个小号真麻烦

阿布卡2008-4-2 14:52
大家有问题块提问哦~ 呵呵

queniao2008-4-3 01:20
[quote]原帖由 [i]ecdragon[/i] 于 2008-4-2 21:12 发表
原来的号不知为什么变成-1000多分,没法为了下载你的书只有搞了个小号真麻烦 [/quote]

怎么会变成 -1000呢, 我到时候让零距离查下

武侠2008-4-3 02:30
本人有一个问题想请教,请问VC6好还是VC2005好?

[quote]
[color=Red][b]专家回复:[/b][/color]
你所要问的应该是  VS6.0 还是 VS 2005 好,
对于C++ 来说:  VS 6.0 开发环境中 VC版本是  6.0 它对于 C++ 标准支持的不是很好, 对STL等模板相关的东西支持不够完善.  
从 VS 2003 开始 就是 VC 7.1 开始 以后的版本 包括 VS2005种的  VC 8 对于 模板 和 STL库的支持 已经很好,而且对于 Boost 库的 支持 也很好
[/quote]

[[i] 本帖最后由 阿布卡 于 2008-4-3 14:08 编辑 [/i]]

雪花飘飘2008-4-3 02:31
list的迭代器是否可以随机移动?

[quote]
[color=Red][b]专家回复:[/b][/color]
STL 本身的 list迭代器,只支持 串行的 双向 迭代,不支持随机访问。 可以通过简单的封装 ,借助迭代器来实现接口层面的随机访问。

只有 vector 、deque 、string vector 的 迭代器具有 随机 移动 随机 访问的能力
[/quote]

[[i] 本帖最后由 阿布卡 于 2008-4-3 14:14 编辑 [/i]]

Feei2008-4-3 02:31
public,protected,private有什么区别?

arki2008-4-3 02:37
linux c++时出现的诡异段错误,出错的原因是什么?怎么修改?

源码:
#include<iostream>
using namespace std;
int put();
int main()
{
put();
return 0;
}
int put()
{
char *a;
cin >> a;
cout << a;
return 0;
}
能编译通过,但是执行时出现段错误。执行可以显示字符串a
gdb的调试信息是
Program received signal SIGSEGV.Segmentation fault.
0x4000c660 in _dl_fini() from /lib/ld-linux.so.2
(gdb)where
#0 0x4000c660 in _dl_fini() from /lib/ld-linux.so.2
#1 0x42029c20 in exit() from /lib/tls/libc.so.6
#2 0x420155d8 in __libc_start_main() from /lib/tls/libc.so.6
请问:
这是什么错误?出错的原因是什么?怎么修改?

[quote]
[color=Red][b]专家回复:[/b][/color]
此段代码中  ,input() 函数中声明了一个 char *a, 此 字符指针 并没有进行任何初始化,而下面cin >> a;从流直接对其进行赋值,会导致 非法的内存访问 :Segmentation fault.

如果需要 a 进行变量的 接收,必须对其进行 初始化  : 比如  char a[1024]; 或 char *a = (char*)malloc(1024*sizeof(char));   在 input() 返回前 使用  free(a) 进行释放  或者  C++ 中 char *a = new char[1024]; 在 input 返回前 使用 delette [] a; 进行释放
[/quote]

[[i] 本帖最后由 阿布卡 于 2008-4-3 14:21 编辑 [/i]]

chealsj2008-4-3 02:37
如何解决fatal error LNK1120错误

如何解决fatal error LNK1120错误
LINK : warning LNK4076: 无效的增量状态文件“.\Debug/example_stack.ilk”;正在非增量链接
LINK : fatal error LNK1207: “e:\学习\c++\c++primer\example_stack\Debug\example_stack.pdb”中的 PDB 格式不兼容;请删除并重新生成

fatal error 是什么原因?怎么能够弄好呢,

[quote]
[color=Red][b]专家回复:[/b][/color]
建议 : 可以在工程选项——〉链接器  取消 增量链接

          如果出现这种情况下,在修改完后,可以选择,重新生成 来进行 rebuild,而不是直接build或点一下运行或调试让其自动 make——〉link

      手工Clean 所有的临时 文件 和 调试信息数据库,就是 .pdb文件,实在不行 ,清除文件, 重启VC
[/quote]

[[i] 本帖最后由 阿布卡 于 2008-4-3 14:34 编辑 [/i]]

绝对无奈2008-4-3 02:42
高手指导下!在删除操作很多的情况下,应该选择什么样的容器?是否分为不同情况!?

[quote]
[color=Red][b]专家回复:[/b][/color]
在删除操作很多的情况也不简单:

如果 删除操作 发生在 一端 ,如果发生在 头部, 当然选择 list  或 deque

如果 发生在  尾部, list 或 vector

list 随机 访问能力差, 但是删除 对于链表结构 就是 指针的移动 很快

对于 vector 随机访问能力强, 但是 删除 指 erase() 来说 需要 进行内存重整,比较慢
remove 来说 也是指针的移动,但是 元素没有被 真正的删除
[/quote]

[[i] 本帖最后由 阿布卡 于 2008-4-3 14:36 编辑 [/i]]

nure2008-4-3 02:45
一个问题,同VB的异常处理相比,C++有何优势 偶是新手~~

nure2008-4-3 02:46
帮我哥们在问一个,他今天下午上课,呵呵。

他的问题是:如果父类中存在有参数的构造函数,一般来说也要为它提供没有参数的构造函数,为什么?

[quote]
[color=Red][b]专家回复:[/b][/color]
因为类的构造,都是先构造父类,父类构造完毕后,再构造子类
所以,父类构造函数有参数时,要先为父类的构造函数提供参数
当提供有参数的构造函数是,编译器不再插入默认构造函数, 假如 不加入 无参数的默认构造函数, 每次新建字类对象的时候,必须使用  初始化参数列表显式初始化 父类对象。。。
[/quote]

[[i] 本帖最后由 阿布卡 于 2008-4-3 15:26 编辑 [/i]]

前进的年代2008-4-3 02:51
C++,用new给一个结构分配内存并赋值的问题

#include<iostream>
using namespace std;

struct CandyBar
{
char name[20];
float wei;
int eng;
}

main()
{
CandyBar *pt=new CandyBar[3];

pt=
{
{"what is this?",3.2,6};
{"..this is a pig...",4.4,5},
{"...Yes,it'is",3.7,9}
};
cout<<pt[0].name<<pt[0].wei<<pt[0].eng<<endl;
cout<<"engSUM="<<pt[0].eng+pt[1].eng+pt[2].eng<<endl;
}
语法有错误,错误出现在*p赋值的地方,应该怎么写,给结构数组赋值?


[b]此帖  已由  另一位斑竹  在回复 过了 呵呵[/b]

[[i] 本帖最后由 queniao 于 2008-4-3 15:23 编辑 [/i]]

关键词: unix       

相关文章:
快照技术原理深入讨论
linux下监控磁盘空间大小并自动报警的脚本
动态入侵检测技术IDS
急!!!sql_select option missing 这个是什么原因啊?
Cisco从低端到高端的配置大全(经典实用)

查看完整版本: 【第62期实录】精解C++系统架构及常用设计模式的应用


Powered by 51CTO.COM