C/C++
期待我的美好
这个作者很懒,什么都没留下…
展开
-
什么函数不能声明为虚函数
一、首先回顾下什么是虚函数及其作用,以便更好理解什么函数不能声明或定义为虚函数:1. 定义:虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式: virtual 函数返回值类型 虚函数名(形参表) { 函数体 }2. 作用:虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合转载 2013-08-18 21:47:27 · 425 阅读 · 0 评论 -
C/C++定义与声明
《C++ Primer》中文第四版对变量的定义与声明做如下定义: 1、变量的定义(definition)用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一次定义。 2、声明(declaration)用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字;(下面是来自:http://blog.csdn.net/binghehjbe转载 2013-11-29 10:55:36 · 522 阅读 · 0 评论 -
几个重要库函数的实现-strcpy,strncpy,memcpy,memset
原文来自:http://blog.csdn.net/hyhyl1990/article/details/7958263面试官很喜欢让求职者写一些常用库函数的实现,有很多是和字符串相关的,有一些是关于内存拷贝的。一般,常会让写的函数有以下几个:strcpy , strncpy, memcpy。memset一般不会让去写,但这个函数也很有特点,有很多容易用错的地方。一并总结吧。转载 2013-09-30 21:42:17 · 779 阅读 · 0 评论 -
KMP字符串模式匹配详解
文章来自:点击打开链接刚看到位兄弟也贴了份KMP算法说明,但本人觉得说的不是很详细,当初我在看这个算法的时候也看的头晕昏昏的,我贴的这份也是网上找的。且听详细分解:KMP字符串模式匹配详解来自CSDN A_B_C_ABC 网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明转载 2013-09-30 21:33:06 · 493 阅读 · 0 评论 -
类的静态成员函数带来了什么好处,应该在什么时候使用?
转载自:点击打开链接函数的行为对所有派生类都一致时,可以声明为静态。静态成员函数的作用基本上相当于一个带有命名空间的全局函数。 如一个数学类定义了一些函数 都可以声明伪静态的 Math.sin(x)等好处很多,但所有的好处都是基于:它跟类的实例无关,只跟类有关,不需要this指针。至于可重入问题,非静态成员函数也有啊。为什么单单问静态函数的可重入问题。转载 2013-09-04 10:42:30 · 541 阅读 · 0 评论 -
c语言的强符号和弱符号
转载自:点击打开链接声明:下面的实例全部在linux下尝试,window下未尝试。有兴趣者可以试一下。文章针c初学者。c语言的强符号和弱符号是c初学者经常容易犯错的地方。而且很多时候,特别是多人配合开发的程序,它引起的问题往往非常行为怪异而且难以定位。什么是强符号和弱符号?在c语言中,函数和初始化的全局变量是强符号,未初始化的全局变量时弱符号。强符号和弱符号的定义是转载 2013-09-08 16:57:50 · 758 阅读 · 0 评论 -
静态存储区、堆和栈的区别
转载自:点击打开链接一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运转载 2013-09-08 17:30:27 · 584 阅读 · 0 评论 -
38头牛中选出3头跑得最快的,使用一个每次只能供6头比赛的场地,要求用最快的方法。
这是华为笔试的一道题目,我的答案是至少9次,分析如下,如果有误麻烦纠正。38头牛分六组:G11、G12、G13、G14、G15、G16;每组六头,最后还剩2头未参加比赛;第一轮比赛:以上六组各比一次,然后各组排名;各组最快的排在前面,如G11[0]表示G11组的第一名,G11[1]表示第二名,依此类推;(已经进行了6次比赛)第二轮比赛:1、取各组的第一名G11[0]、G原创 2013-09-06 11:30:27 · 3038 阅读 · 5 评论 -
从一道题谈C++中构造函数调用构造函数(转载)
原文链接:http://bbs.chinaunix.net/thread-1253107-1-1.html题目如下:问下列代码的打印结果为0吗?#include stdlib.h>#include iostream>using namespace std;struct CLS{ int m_i; CLS( int i ) : m_i(i)转载 2013-08-30 10:56:07 · 472 阅读 · 0 评论 -
自旋锁与互斥锁的区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机转载 2014-10-05 16:06:41 · 446 阅读 · 0 评论