C&C++
文章平均质量分 71
MonkeyCoder
愤怒的程序猿
展开
-
构造函数、析构函数可以抛出异常吗?为什么?(一道百度面试题)
1. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句原创 2013-05-20 22:19:49 · 1983 阅读 · 0 评论 -
static和const关键字的作用
static关键字有以下作用:(1)函数体内static变量的作用范围为该函数体,不同与auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其他函数访问。(3)在模块内的static函数只可以被这一模块内的其他函数调用。这个函数的使用范围被限制在声明它的模块内。(4)在类中的stat原创 2013-05-10 23:29:21 · 892 阅读 · 0 评论 -
比较C++中的4种类型转换方式
C++同时提供了4种新的强制类型转换形式(通常称为新风格的或C++风格的强制转型):const_cast(expression)、dynamic_cast(expression)、reinterpret_cast(expression)和 static_cast(expression),每一种都适用于特定的目的,具体如下:(1)dynamic_cast主要用于执行“安全的向下转型(safe d原创 2013-05-10 21:10:52 · 1289 阅读 · 0 评论 -
应届生求职必备:常用的16个c/c++面试题
1. C中static有什么作用 (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存转载 2013-05-16 10:47:14 · 12428 阅读 · 0 评论 -
C++多线程编程简单实例
今天我给大家讲一讲C++中的多线程编程技术,C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面我就此简单的讲一下: 创建线程的函数 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD转载 2013-06-05 22:25:49 · 868 阅读 · 0 评论 -
不用加减乘除做加法运算
不用加减乘除法,只能用位运算来代替做加法了。第一步:不考虑进位,0加0与 1加1的结果都0,0加1与1加0的结果都是1。我们可以注意到,这和异或的结果是一样的。第二部:只考虑运算进位,对0加0、0加1、1加0而言,都不会产生进位,只有1加1时,会向前产生一个进位。此时我们可以想象成是两个数先做位与运算,然后再向左移动一位。只有两个数都是1的时候,位与得到的结果是1,其余都是0。第三部:把前两个步骤原创 2013-07-03 21:25:14 · 1351 阅读 · 0 评论 -
2014届毕业生华为机试题(厦大场)
题目:题目描述(60分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数: void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)原创 2013-08-14 09:17:34 · 1078 阅读 · 0 评论