autodesk对vc++要求很高
1
dll,lib
处理实现
.lib
文件中包含什么
? dll
在内存中被多个函数共享
,
有几个拷贝
?
简单说
,lib
里面只有符号
,dll
里面才是具体的实现
. dll
并不是拷贝到每一个调用者的进程空间,而是只在内存中保留一份拷贝。通过引用计数的方式控制其卸载。
但是
dll
中的全局变量是要被拷贝到每一个调用者的进程空间的
2
template<double>,template<int>等编译的时候作为几个类
如果没有记错
,
是两个
.
模板都是编译时产生代码
,
所以会出现两个类
.
如果程序中的类型较多
,
就会展开比较大的代码
,
但是速度会快
.
3
struct ,class的区别,联系
只是成员变量或者函数默认的属性
,struct
默认是
public,class
是
private
4
MAcro,inline区别,实现.编译运行时
准确来说
,
内联要更加安全
.
使用内联
,
参数需要精确地进行一次求值
,
参数类型被检查,并且被正确地进行必要的转换
,
避免了宏的一些问题
.
也方便调试
.
简单说
,
内联更加像函数
.
5
进程与线程区别
最主要
:
线程是执行代码的
,CPU
调度的单元
,
进程是个资源的容器
6
hdc-cdc区别联系
cdc
是一块空间
,
保存一定的数据
,hdc
是放在进程的句柄表里面
,
用来标示所代表的
cdc
的
7
model dialog,modeless dialog,从创建到销毁全过程具体描述
模式的是
CDialog
的
DoModal
调用
CreateIndirect
创建对话框
,
然后通过一个循环自己处理消息的分发
;
无模式的是通过
create
创建
,
类似于一般窗口
8
各个线程new的内存,别的线程是否可以使用?
不可以
,
因为线程
new
的空间是在自己的进程空间
,
别的进程是得不到的
.
9
RUNTIME_CLASS, is what??
建议看一下深入浅出
mfc
RUNTIME_CLASS returns a pointer to a CRuntimeClass structure for the class specified by class_name. Only CObject-derived classes declared with DECLARE_DYNAMIC, DECLARE_DYNCREATE, or DECLARE_SERIAL will return pointers to a CRuntimeClass structure.
发信人: qinlinwang (lp我要好好love you), 信区: C_Cpp
标 题: 发autodesk面试题目供大家讨论
发信站: 兵马俑BBS (Wed May 24 14:04:14 2006), 本站(202.117.1.8)
1.C/C++
一个空类占多少空间,多重继承的空类呢
?
inside c
class
X {};
class
Y : public virtual X {};
class
Z : public virtual X {};
class
A : public Y, public Z {};
class
B : public X {};
class
C : public X {};
class
D : public X {};
class
E : public C, public D {};
1
4
4
8
1
1
1
1
2. 析构函数定义成虚函数?
delete base;
3.public和private继承的区别
4. 一个类不允许继承如何作?
5.多态的原理?
6.内联函数在哪定义?
7.析构函数可以是内联函数么?为什么?
可以,
8.析构函数可以抛出异常么?为什么?
不行
9.在多继承的时候,如果一个类继承同时继承自class A和class B,而class A和
B中都有一个函数叫foo(),如何明确的在子类中指出override哪个父类的foo()?