|
【第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] |
|
| :victory::victory::handshake |
|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasasasas |
|
| 原来的号不知为什么变成-1000多分,没法为了下载你的书只有搞了个小号真麻烦 |
|
[quote]原帖由 [i]ecdragon[/i] 于 2008-4-2 21:12 发表
原来的号不知为什么变成-1000多分,没法为了下载你的书只有搞了个小号真麻烦 [/quote]
怎么会变成 -1000呢, 我到时候让零距离查下 |
|
本人有一个问题想请教,请问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]] |
|
list的迭代器是否可以随机移动?
[quote]
[color=Red][b]专家回复:[/b][/color]
STL 本身的 list迭代器,只支持 串行的 双向 迭代,不支持随机访问。 可以通过简单的封装 ,借助迭代器来实现接口层面的随机访问。
只有 vector 、deque 、string vector 的 迭代器具有 随机 移动 随机 访问的能力
[/quote]
[[i] 本帖最后由 阿布卡 于 2008-4-3 14:14 编辑 [/i]] |
|
| public,protected,private有什么区别? |
|
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]] |
|
如何解决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]] |
|
高手指导下!在删除操作很多的情况下,应该选择什么样的容器?是否分为不同情况!?
[quote]
[color=Red][b]专家回复:[/b][/color]
在删除操作很多的情况也不简单:
如果 删除操作 发生在 一端 ,如果发生在 头部, 当然选择 list 或 deque
如果 发生在 尾部, list 或 vector
list 随机 访问能力差, 但是删除 对于链表结构 就是 指针的移动 很快
对于 vector 随机访问能力强, 但是 删除 指 erase() 来说 需要 进行内存重整,比较慢
remove 来说 也是指针的移动,但是 元素没有被 真正的删除
[/quote]
[[i] 本帖最后由 阿布卡 于 2008-4-3 14:36 编辑 [/i]] |
|
| 一个问题,同VB的异常处理相比,C++有何优势 偶是新手~~ |
|
帮我哥们在问一个,他今天下午上课,呵呵。
他的问题是:如果父类中存在有参数的构造函数,一般来说也要为它提供没有参数的构造函数,为什么?
[quote]
[color=Red][b]专家回复:[/b][/color]
因为类的构造,都是先构造父类,父类构造完毕后,再构造子类
所以,父类构造函数有参数时,要先为父类的构造函数提供参数
当提供有参数的构造函数是,编译器不再插入默认构造函数, 假如 不加入 无参数的默认构造函数, 每次新建字类对象的时候,必须使用 初始化参数列表显式初始化 父类对象。。。
[/quote]
[[i] 本帖最后由 阿布卡 于 2008-4-3 15:26 编辑 [/i]] |
|
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从低端到高端的配置大全(经典实用)
Powered by 51CTO.COM
|