
C++
shixiaoguo90
这个作者很懒,什么都没留下…
展开
-
VS2010中的MFC工程名修改【转】
修改前的知识准备:1、解决方案相关文件AAA.sln文件和AAA.suo文件为MFC自动生成的解决方案文件,它包含当前解决方案中的工程信息,存储解决方案的设置。2、工程相关文件AAA.vcxproj文件是MFC生成的工程文件,它包含当前工程的设置和工程所包含的文件等信息。AAA.vcxproj.filters文件存放工程的虚拟目录信息,也就是在解决方案浏览器中的目录结构信息转载 2016-11-03 18:04:45 · 5529 阅读 · 0 评论 -
sizeof(union) 、sizeof(struct) 和内存对齐技术
一,union:C/C++关键字 共用体(联合) 共用体的声明和共用体变量定义与结构十分相似。形式为: [html] view plaincopyunion 共用体名 { 数据类型 成员名; 数据类型 成员名; ... } 变量名;转载 2014-04-28 14:44:04 · 935 阅读 · 0 评论 -
华为正规C,C++面试题及答案
华为面试题及答案 1、局部变量能否和全局变量重名 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。转载 2014-04-28 17:04:28 · 1709 阅读 · 0 评论 -
C++ 常函数
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或转载 2014-05-12 22:42:41 · 15063 阅读 · 0 评论 -
C++程序员应聘常见面试题深入剖析
3.内功题试题1:分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)解答:BOOL型变量:if(!var)int型变量: if(var==0)float型变量:const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x 指针变量:转载 2014-05-03 23:00:27 · 562 阅读 · 0 评论 -
C系列: 全局变量与静态变量的区别
要讲清静态变量与全局变量的区别,要从四个方面:一为修饰符,二为存储地址,三为生命周期,四为外部可访问性。 修饰符:全局变量在源文件的函数外部声明(不含extern),但若其它源文件要调用这个变量,就需要通过extern关键字来引用一下。静态变量用static来修饰; 存储地址:两者都是存储在静态存储区,非堆栈上,它们与局部变量的存储分开; 生命周期:两者都是在程序编译时或程序装入时由系转载 2014-05-13 10:01:46 · 1378 阅读 · 0 评论 -
2014校园招聘 华为机试题
亮着电灯的盏数 一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。 有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的原创 2014-04-25 21:27:44 · 760 阅读 · 0 评论 -
C++ sort函数用法
最近算法作业经常需要排序。偶是一个很懒的人,于是一直用C++的sort进行排序~~~不少同志对此心存疑虑,所以今天就写一写sort的用法。声明:此用法是从某大牛的程序中看到的,其实偶只是拿来用,不知所以然,飘走~~~~~MSDN中的定义:templatevoid sort(RanIt first, RanIt last); //--> 1)templatevoid so转载 2014-04-25 10:30:34 · 691 阅读 · 0 评论 -
浅谈指针使用中注意事项
相信大家对指针的用法已经很熟了,这里也不多说些定义性的东西了,只说一下指针使用中的注意事项吧。一.在定义指针的时候注意连续声明多个指针时容易犯的错误,例如int * a,b;这种声明是声明了一个指向int类型变量的指针a和一个int型的变量b,这时候要清醒的记着,而不要混淆成是声明了两个int型指针。二.要避免使用未初始化的指针。很多运行时错误都是由未初始化的指针导致的,而且这种错转载 2014-04-23 22:52:39 · 1016 阅读 · 0 评论 -
C++ 单元测试 GoogleTest
介绍全新单元测试框架组合: googletest 与 googlemockgoogletest 与 googlemock 是 Google 公司于 2008 年发布的两套用于单元测试的应用框架,本文将向读者介绍如何应用这两套应用框架轻松编写 C++ 单元测试代码。以下讨论基于 gtest-1.2.1 及 gmock-1.0.0 。单元测试转载 2014-05-09 09:26:42 · 1056 阅读 · 0 评论 -
虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)
一. 虚析构函数我们知道,为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。如:class Base{public: Base(){} virtual ~Base(){}};class Derived: public Base转载 2014-04-22 16:39:09 · 613 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
C++拷贝构造函数(深拷贝,浅拷贝)对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include iostream>using namespace std;class CExample {priva转载 2014-04-22 16:07:57 · 564 阅读 · 0 评论 -
namespace的用法
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、转载 2014-06-06 14:57:55 · 512 阅读 · 0 评论 -
C语言中函数参数入栈的顺序
先通过一个小程序来看一看:#includevoid foo(int x, int y, int z){printf("x = %d at [%X]n", x, &x);printf("y = %d at [%X]n", y, &y);printf("z = %d at [%X]n", z, &z);}int main(int argc转载 2014-04-14 09:33:20 · 894 阅读 · 0 评论 -
java中使用jni引用dll文件
用JNI技术Java调用dll文件(由lib文件生成)http://blog.youkuaiyun.com/KONGKONGWJZWJZ/article/details/4473009java native方法及JNI实例http://blog.youkuaiyun.com/xw13106209/article/details/6989415VS 2010中添加lib库原创 2015-04-27 16:10:46 · 843 阅读 · 0 评论 -
C++中引用传递与指针传递区别
C++中引用传递与指针传递区别在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传递参数是有本质上的不同的:指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变转载 2014-11-22 15:55:35 · 534 阅读 · 0 评论 -
C/C++ 结构体字节对齐详解
发现在当前很多对结构体字节对齐的分析都有错误,这里从实际测试到理论分析,使用的平台是linux 32位。一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的转载 2014-04-22 10:34:49 · 862 阅读 · 0 评论 -
C++面试题(1)
http://zhedahht.blog.163.com/blog/static/254111742011012111557832题目(一):我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用static和const修饰类的成员函数?分析:答案是不可以。C++编译器在实转载 2014-04-05 18:42:42 · 547 阅读 · 0 评论 -
linux下的so、o、lo、a、la文件的区别
o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息转载 2014-06-23 10:28:59 · 2922 阅读 · 0 评论 -
PostgreSQL+PostGIS的使用(转载)
二、 PostGIS中的几何类型PostGIS支持所有OGC规范的“Simple Features”类型,同时在此基础上扩展了对3DZ、3DM、4D坐标的支持。1. OGC的WKB和WKT格式OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text)。在SQL语句中,用以下的方式可以使用WKT格式定义几何对象:转载 2014-06-23 10:23:31 · 2164 阅读 · 0 评论 -
mysql中force Index等一些比较少用到sql优化
对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。 1。强制索引 FORCE INDEX SELECT * FROM TABLE1 FORCE INDEX (FIELD1) … 以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的转载 2014-06-23 10:10:56 · 803 阅读 · 0 评论 -
ifndef/define/endif作用和用法
问题:ifndef/define/endif”主要目的是防止头文件的重复包含和编译,偶只知道这个概念不懂的是怎么个用法,和为什么要用它~~高手请指点一下~~谢谢~~~!!!--------------------------------------------------------------------------------------------------用法:.h文转载 2014-06-18 11:02:19 · 1369 阅读 · 0 评论 -
C++ 模板学习笔记
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float转载 2014-06-17 10:44:36 · 492 阅读 · 0 评论 -
C++实现反射机制
第一篇C++编程语言是一款功能强大的计算机应用语言。其能够支持很多程序设计风格。我们今天将会在这里为大家详细介绍一下有关C++反射机制的具体实现步骤,大家可以从中获得一些有帮助的内容。在Java编程中,我们经常要用到反射,通过反射机制实现在配置文件中的灵活配置, 但在C++编程中,对这种方式步提供现有的支持,那么我们怎么才能在配置文件中配置想要调用的对象呢? 我们的思路是通过对象名称确转载 2014-06-16 20:26:20 · 641 阅读 · 0 评论 -
c/c++调用mysql存储过程
c/c++调用mysql存储过程mysql5.0以后就支持存储过程了,目前mysql的6.0Alpha版也已经推出。6.0不仅支持大型数据库如oracle等的绝大部分功能,如存储过程、视图、触发器、job等等,而且修正了这些功能所存在的bug,其中6.0.1还支持64位windows,以及表空间。在c/c++中访问mysql,常见的只是一些简单的业务,使用c中嵌入简单的查询、插入、更新转载 2014-05-30 15:32:34 · 1256 阅读 · 0 评论 -
堆和栈的区别
堆(Heap)栈(Stack)1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。转载 2014-04-23 16:37:02 · 553 阅读 · 0 评论 -
指针数组和数组指针
指针数组和数组指针 呵呵,实在是厌倦了绕口的解释。 指针数组,故名思义,就是指针的数组,数组的元素是指针; 数组指针,同样,就是直想数组的指针。 简单举例说明: int *p[2]; 首先声明了一个数组,数组的元素是int型的指针。 int (*p)[2]; 声明了一个指针, 指向了一个有两个int元素的数组。转载 2014-05-09 10:20:41 · 833 阅读 · 1 评论 -
虚函数和纯虚函数的区别
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:[cpp] view plaincopy转载 2014-05-04 15:42:32 · 536 阅读 · 0 评论 -
海量数据处理-----bitmap
【什么是Bit-map】所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达转载 2014-05-03 11:35:18 · 692 阅读 · 0 评论 -
C++箴言:用传引用给const取代传值
缺省情况下,C++ 以传值方式将对象传入或传出函数(这是一个从 C 继承来的特性)。除非你特别指定其它方式,否则函数的参数就会以实际参数(actualargument)的拷贝进行初始化,而函数的调用者会收到函数返回值的一个拷贝。这个拷贝由对象的拷贝构造函数生成。这就使得传值(pass-by-value)成为一个代价不菲的操作。例如,考虑下面这个类层级结构:class Person {转载 2014-05-02 11:04:13 · 770 阅读 · 0 评论 -
C++中实现按位存取
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zouhui.blog.51cto.com/3827922/776749 在我创业的一个项目中,为了节约网络带宽,因此在网络中传输数据需要实现紧凑存取,在国防,科研,航天,军工等多个领域其实也有类似的需求。 实现紧凑存取,不是按一个字节一个字节地存取,而是按转载 2014-05-01 08:44:24 · 4036 阅读 · 0 评论 -
VS2010下开发ActiveX 控件
初试ActiveX控件 这几天看了关于COM技术的资料并看了孙鑫老师关于ActiveX控件的教程,自己就动手实践了一下。教程中用的是VC6.0实现的,我用的是vs2010,在实践的过程中也遇到了一些问题,最终都解决了。在这里将学习过程分享一下。 ActiveX控件的底层实现是基于COM技术的。任何一个控件都有自身的属性、方法、事件。那么我们自己在开发ActiceX空间的时候,也转载 2014-05-02 09:34:35 · 1720 阅读 · 0 评论 -
解析nginx负载均衡
解析nginx负载均衡 标签: nginx , webserver , 负载均衡 分类:未分类, 贴吧技术http://stblog.baidu-tech.com/?p=2027摘要:对于一个大型网站来说,负载均衡是永恒的话题。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、R转载 2014-05-01 15:15:09 · 603 阅读 · 0 评论 -
二叉树根节点到指定节点的路径
题目描述:给定一棵二叉树和二叉树中一个节点,输出根节点到指定节点间的路径。 10 / \ 5 12 / \ 4 7指定节点7,那么输出路径应该是10-5-7。分析与解法:这个题目是在我做过蛮多二叉树的题目之后总结的一道题目。发现很多题目都可以抽象出来这个题目。其实二转载 2014-04-15 14:54:37 · 13658 阅读 · 0 评论 -
程序员面试题精选100题(52)-C++面试题(1)
2011-01-12 11:15:57| 分类: C/C++ | 标签:google 编程 就业 面试题 微软 |举报|字号 订阅写在前面的话:由于与C++语法相关的面试题,通常用很短的篇幅就能解释清楚,不适合写博客,因此本博客一直没有关注C++的语法题。近期发现篇幅短的C++题目刚好合适微博,于是开始在微博http://weibo.com/zhe转载 2014-04-29 20:58:57 · 631 阅读 · 0 评论 -
求满二叉树上任意两个节点的最近公共父节点
北大百练题2756: 如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。对于两个结点x和y,假设他们到根结点的路径分别是(x1, x2, ... ,转载 2014-04-14 16:08:58 · 1515 阅读 · 0 评论 -
设计模式
推荐两本书:1,深入浅出设计模式 郭峰 讲的比较浅显易懂 我个人也是先看的这本书2,设计模式 四人帮的 另外网上的一篇文章java语言描述http://www.jfox.info/java-23-zhong-she-ji-mo-shi-ji-ju-ti-li-zi C++语言描述:http://www.cnblogs.com/jiese/p/31转载 2014-03-30 10:03:59 · 563 阅读 · 0 评论 -
int类型究竟占几个字节
最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction tha转载 2014-04-14 16:24:33 · 1889 阅读 · 0 评论 -
在一个文件中有10G个整数,乱序排列,要求找出中位数
题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。关于中位数:数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与转载 2014-05-03 11:45:55 · 850 阅读 · 0 评论 -
利用“异或”处理数组的相关算法的几个例子
例1,寻找数组中丢失的数。。。 有一组数字,从1到n减少了一个数,顺序也被打乱了,放在一个n-1的数组里,请找出丢失的数字。 在上一篇“数组公式相关算法”里介绍过一些解法,不过,那样解的话,可能会有溢出的危险。我们可以利用位运算中的“异或” 来巧妙解决这个问题。 算法步骤:1,对1-n个数做异或运算,得到XOR = 1^2^3^4..转载 2014-04-02 10:29:22 · 3438 阅读 · 0 评论