类型:转载 责任编辑:asp 日期:2007/03/01
近期要去换个工作,因为长期作图像的算法研究去了,所以对于一些基本的东西都忘的差不多鸟了,去考试很气馁,真他妈的考的无聊,可没办法,就这么无聊。
奶奶的,居然考我一些api函数的名字,查就知道了,那么多老子哪记得住。
只要你的题目有意义,你的讨论有意义,就给分,太简单的题目不必放。
推荐阅读
简答题
1、头文件中的 ifndef/define/endif 干什么用?
2、#include <filename.h> 和 #include “filename.h” 有什么区别?
3、const 有什么用途?
4、在c++ 程序中调用被 c编译器编译后的函数,为什么要加 extern “c”声明?
论述下面的程序:
#include "stdafx.h"
int * fun()
{
int a = 10;
return &a;
}
int main(int argc, char* argv[])
{
printf("hello world!%d\n",*fun());
return 0;
}
在所用试题中真正意义的题目是最后两题,现回答最后两题
第一个循环当condition 发生变化时不会继续执行当前函数
缺点是每次都要判断condition
第二段代码在执for循环时condition发生变化时将继续执行当前函数
#include <filename.h> 在vc的指定头文件文件来中
#include “filename.h” 在当前的文件夹中
有人在vc6++用这,为什么?
#define for if(0);else for
因为vc6++中:
for(int i=0;i<10;i++)
for(int i=0;i<10;i++)
有问题。
论述下面的程序:
#include<iostream>
#include<cstdlib>
#define for if(0);else for
using std::cout;
using std::cin;
using std::endl;
int& fun()
{
int a = 10;
//局部对象
//《c++ primer》说:
//返回之后,结果指向一个有问题的位置
/ /但我得的结果是:10
return a;
}
int main(int argc, char* argv[])
{
cout<<fun();
cout<<endl;
system("pause");
return 0;
}
斑竹:的第一个问题的答案是应该是,
它是一个宏定义问题,以上决定是否执行那一段宏。
而第二个问题的答案应该是,
#define<filename> 表示是系统头文件。
而define"filename"则有可能表示是用户自定议的头文件
#include "stdafx.h"
int * fun()
{
int a = 10;
return &a;
}
是一种危险的形式。a为局部变量,函数结束后,栈已释放。返回的指针将会指向一个不确定值。在单线程中可能结果为10,因为系统还未释放该区域。如果为多线程,就可能导致不可遇见的错误。
不能范围局部变量的指针,这回导致不可遇见的错误