C++笔记
文章平均质量分 70
top_along
这个作者很懒,什么都没留下…
展开
-
【Boost库初探】Boost.Regex库编译、使用(32位/64位)
本文的运行环境为Win7 + VS20101. 下载boost库开发包:进入Boost官网下载最新版本Boost库的rar文件。2. 解压缩开发包:F:\boost_1_57_03. 进入Regex库所在目录:F:\boost_1_57_0\libs\regex\build,并在此文件夹下的地址栏输入cmd,可以看到cmd原创 2015-01-14 21:37:49 · 3941 阅读 · 0 评论 -
C语言拾遗:公有、私有和受保护的继承--《C++ primer》笔记
protectedInheritance.cpp间接继承和书本描述不一致,书上说因为第一重继承变private,第二重继承才无法访问Base::i~是private,现实是提示Base::i是protected,好像跳过Private_derived类直接找基类了。继承对基类的保护,还是普遍规律,只能越来越严,不能变松。还有,标号不是限制派生类对基类成员(表达不清楚,是基类原创 2014-06-11 22:24:11 · 1551 阅读 · 0 评论 -
C语言拾遗:sizeof与strlen
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所转载 2014-07-21 16:05:45 · 601 阅读 · 0 评论 -
C语言拾遗:位拷贝与值拷贝,浅拷贝与深拷贝
先留个题目,下午回来总结下。。。吃饭去原创 2014-05-19 11:53:32 · 5035 阅读 · 0 评论 -
由硬币问题和邮票问题看动态规划
由于实习时候被一个臭屁的老总(文科博士)原创 2014-05-09 17:25:14 · 881 阅读 · 0 评论 -
C语言拾遗:#include文件名全解
一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。原创 2014-05-12 16:39:21 · 1655 阅读 · 0 评论 -
C语言拾遗:ifndef/define/endif 与 #pragma once
参考资料1:http://blog.sina.com.cn/s/blog_6398cade0100hi69.html参考资料2:原创 2014-04-25 15:45:31 · 708 阅读 · 0 评论 -
C语言拾遗:(int)a、&a、(int)&a、(int&)a的区别
(int)a、&a、(int)&a、(int&)a的区别,很偏僻的题 #include #include #include #include using namespace std; int main() { float a = 1.0f; cout << sizeof(int) <<endl;//4 cout << sizeof(float) <<endl;//4 cout <<转载 2014-04-24 10:28:30 · 2584 阅读 · 0 评论 -
文件分类小助手
事情的起因是这样的,女朋友工作里面常常动则大几百原创 2014-05-15 15:13:03 · 725 阅读 · 0 评论 -
C语言拾遗:数组指针与指针数组
转自:http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,转载 2014-04-22 22:48:22 · 536 阅读 · 0 评论 -
C++ 之高效使用STL (STL 容器的选择)
C++ 之高效使用STL (STL 容器的选择) : 你知道C++中有很多你可以支配的容器,但是你意识到有多少吗?要确定你没有忽略你的选项,这里有一个快速回顾。 •标准STL序列容器:vector、string、deque和list。 •标准STL关联容器:set、multiset、map和multimap。 •非标准序列容器slist和rope。slist是一个单向链表,rope转载 2014-07-02 20:47:13 · 1865 阅读 · 0 评论 -
C++拾遗:多态性
待整理,先留贴!多态性指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。 a.编译时多态性:通过重载函数实现 b 运行时多态性:通过虚函数实现原创 2014-06-18 17:38:28 · 717 阅读 · 0 评论 -
【Boost库初探】Boost库编译后命名方式
Boost库编译后命名方式from http://www.cnblogs.com/dementia/archive/2009/04/10/1433217.htmlBoost官网的《Geting Started On Windows》(http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html)提到了B转载 2015-01-19 20:16:36 · 994 阅读 · 0 评论 -
DLL创建与隐式调用总结
DLL的创建新建MFC dll,在cpp文件中编写原创 2014-11-06 11:21:31 · 978 阅读 · 0 评论 -
MATLAB与C++混合编程:动态链接库方法实现混合编程及常见错误解决办法
动态链接库方式调用MATLAB写好的函数,原创 2014-11-12 15:02:01 · 6158 阅读 · 7 评论 -
C语言拾遗:模版的实例化与具体化
primer Plus在解释具体化和实例化看的有点乱,分解出来备忘在代码中包含函数模板本身并不会生成函数定义,它只是用于生成函数定义的方案编译器使用模板为我写类型生成函数定义时,得到的是模板实例如这个模板templatevoid Swap(T &t1,T &t2){ T _t; _t=t1; t1=t2; t2=_t;转载 2014-09-13 00:06:31 · 969 阅读 · 0 评论 -
2014华为编程大赛题目:小明的筷子
题目:小明的筷子 答题时间: 00 小时 01 分 05 秒描述: 小明是个马大哈,某天他到超市买了若干双筷子(n筷子的长度不尽相同,他把全部筷子都放在购物袋里面拿回家,路上不小心漏了一根请你用程序帮他找出是漏掉的筷子是多长的。输入: 剩下的筷子数组原创 2014-05-04 13:14:18 · 3517 阅读 · 3 评论 -
C++拾遗:断言错误assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badpt转载 2014-06-20 11:08:03 · 4362 阅读 · 0 评论 -
C语言拾遗:常量指针与指针常量(const int *ptr, int const *ptr, int * const ptr, const int * const ptr区别)
一、”const int” & “int const” 我们需要明白,const放在数据类型(int)前面和数据类型(int)后面是一样的,等价。所以 const int *ptr = int const *ptr 二、简单理解“const int *ptr”, “const int * const ptr”, “int * const ptr”的本转载 2014-05-19 18:49:48 · 3355 阅读 · 3 评论 -
C语言拾遗:C程序编译执行过程
原文来自:http://www.vcgood.com/bbs/forum_posts.asp?tid=1400 编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言(二进制),并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 C源程序头文件-->预编译处理(cpp)-->编译程序本转载 2014-06-17 11:37:00 · 932 阅读 · 0 评论 -
C语言拾遗:static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
转自:http://www.cnblogs.com/jerry19880126/archive/2012/08/14/2638192.html隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warn转载 2014-07-23 17:48:58 · 3333 阅读 · 0 评论 -
C语言拾遗:数据区,代码区,堆区,栈区
转自:http://blog.csdn.net/yinwei520/article/details/6006054一般全局变量存放在数据区,局部变量存放在栈区, 动态变量存放在堆区,函数代码放在代码区。 --------------------------------------------------------------- 栈区是普通的栈数据结构,遵循LI转载 2014-04-22 20:54:20 · 1193 阅读 · 0 评论 -
2011华为编程大赛B卷第三道题
3 、字符串匹配( 50 分) 问题描述 判断包含通配符的匹配字符串是否完全匹配输入的字符串,匹配字符串中包含的通配符仅有‘ * ’和‘?’,且通配符不会连续出现 。(要求完全匹配,而不是包含) 其中,通配符‘ * ’:代替 0 个或多个字符,通配符‘ ? ’:代替一个字符 要求实现函数 int GetMatchSta (const char *ArrStr, co原创 2014-04-22 19:12:40 · 760 阅读 · 2 评论 -
2014华为编程大赛题目:笨笨熊搬家打包篇
森林里的笨笨熊今天可开心啦——他买了新房子,乔迁新喜要搬家了。因此,笨笨熊请了许多好朋友来帮忙搬家,并准备了很多小纸盒用来装需要搬的物品,不过,这些纸盒的容积都是相同的,并且最多只能装两个物品。但是,为了不打扰太多的朋友,笨笨熊想了个“聪明”办法:让每个纸盒使用效率最高(注:只要纸盒容积大于物品的体积之和就认为可以装下;物品体积不会大于纸盒容积),这样需要的纸盒最少。为了帮助笨原创 2014-05-04 17:04:10 · 2223 阅读 · 3 评论 -
【转】进程、线程、互斥量、信息量,超直观的解释(图解)
转自:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一转载 2014-03-06 21:25:44 · 1122 阅读 · 1 评论 -
【转】一定要搞死GetMemory()
NO1void GetMemory(char *p){ p=(char *)malloc(100);}void Test(){ char * str=NULL; GetMemory(str); strcpy(str,"Hello world"); printf(str);}转载 2014-03-05 16:53:38 · 778 阅读 · 0 评论 -
MFC下获取控件相对于子窗口的矩形位置
要获取控件在子窗口下的矩形位置。下程序为在子窗口的类下写的。 CRect rectPlot,rectWnd;//左为用于存控件的矩形,右为用于存子窗口的矩形 GetWindowRect(rectWnd);//取子窗口rectGetDlgItem(IDC_STC_PLOT)->GetWindowRect(&rectPlot);//取控件rectrectPlot.top=rectP原创 2013-10-25 11:48:20 · 3451 阅读 · 0 评论 -
MFC-设备坐标和逻辑坐标
MFC-设备坐标和逻辑坐标2009-04-07 15:28Windows应用程序绘制图形时使用的是一种逻辑单位,每个逻辑单位的大小由映射模式决定,这个逻辑单位既可以与设备单位(屏幕或打印机上的一个像素点)相同,也可以是一种物理单位(如毫米),还可以是用户自定义的一种单位。在Windows应用程序中,只要与输出有关系,都要使用映射模式。本文的目的是帮助读者了解映射模式的一些基本知识,并对在使用中经常转载 2013-10-11 09:42:58 · 1425 阅读 · 0 评论 -
对话框中获取doc,view指针:
view中添加如下代码:void CMyView::OnHist() { // TODO: Add your command handler code here CHist hi(this);//构造函数中将当前类指针赋值给对话框 hi.DoModal();}hist.h中添加cmydoc.h和cmyview.h头文件,注意顺序public: long hist[256]; CHist(CWnd*转载 2013-09-24 22:29:16 · 1193 阅读 · 0 评论 -
SetTimer()函数
View类窗口中有SetTimer()函数,原型UINT_PTR SetTimer( UINT_PTRnIDEvent, UINT nElapse, void (CALLBACK* lpfnTimer);第一个参数为标识,第二个参数为毫标,第三个参数为回调函数。默认调用系统的回调函数OnTimer(),也可自己设置。具体资料很多。 主要关于返回值。在以上情况返回值,设置成功原创 2013-09-18 11:04:17 · 684 阅读 · 0 评论 -
2014华为编程大赛题目:外星人比数的大小
题目:外星人原创 2014-05-04 15:21:51 · 1152 阅读 · 0 评论 -
2012届华为编程大赛第一题
/*2012华为编程大赛1. 就餐抽查(30分)问题描述: 某公司由于人多,午餐分为多批次就餐,严格要求每批次就餐时间。并定期抽查就餐情况。请编写程序实现就餐抽查情况。要求实现函数: void check_lunch(int num, int time,int input[], int output[])【输入】 int num,就餐总人数int time,就餐分批数char原创 2014-04-18 11:19:47 · 986 阅读 · 0 评论 -
2011年华为编程大赛B卷第二道题
2 、查找最大的不重复数( 30 分) 问题描述 如果一个数字十进制表达时,不存在连续两位相同,则称之为“不重复数”。例如, 105 、 1234 和 12121 都是“不重复数”,而 11 、 100 和 1225 不是。给定一个正整数 A ,返回大于 A 的最小“不重复数”。 A 小于 100000 要求实现函数 unsigned int GetNotRepeatN原创 2014-04-22 17:03:27 · 874 阅读 · 0 评论 -
C语言拾遗:常见数据类型占字节数
常用数据类型对应字节数 可用如sizeof(char),sizeof(char*)等得出 32位编译器: char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字转载 2014-04-22 23:40:32 · 571 阅读 · 0 评论 -
C语言拾遗:关于数字后面加字母
U表示该常数用无符号整型方式存储,相当于unsigned int;L表示该常数用长整型方式存储,相当于longF表示该常数用浮点方式存储,相当于float转载 2014-04-22 21:17:27 · 4769 阅读 · 0 评论 -
2011华为编程大赛B卷题目一
1、 排序算法( 20 分) 问题描述 将给定的无序整数数组降序排列后输出,输入的无序数组长度为 N ,类型为 unsigned int 要求实现函数 void DscSort (const int InputArray[], unsigned int n, int OutputArray[]) 【输入】 InputArray : 给定的无序数组 n :原创 2014-04-22 14:49:06 · 589 阅读 · 0 评论 -
2011华为编程大赛第三道题
// FindStat.cpp : 定义控制台应用程序的入口点。///*3、公交站寻址(50分)问题描述一个N*N二维矩阵代表城市布局,元素值只有’.’,’X’ , ‘B’ , ‘S’,X代表当前位置,B代表路障,S代表公交站,’.’代表可行的路径。现给定路径长度Y,找到能够到达的公交站的个数,路径中不能包含路障。路径长度定义:节点与其自身的距离为0节点与其上、下、左、右四个相邻原创 2014-04-21 20:09:11 · 593 阅读 · 0 评论 -
2011华为编程大赛第二道题
// OutFunc.cpp : 定义控制台应用程序的入口点。///*2011年华为编程大赛(a卷)2、出圈问题(30分)问题描述M个人围成一圈报数,数到N(1<N<10)的倍数或包含N这个数字时出圈,问剩下的最后一个人在原来的位置是多少?报数规则:1、从第一个人开始报数为1,下一个人报数为上一个人报数加12、报数的最大值为2000,如果报数超过2000,则下一个人重新从1开始原创 2014-04-21 16:33:42 · 738 阅读 · 0 评论 -
2011华为编程大赛第一道题 指针常量与常量指针
// MatrixTranspose.cpp : 定义控制台应用程序的入口点。///*矩阵转置(20分) 问题描述 将一个N*N矩阵的行列互换 要求实现函数 void MatrixTranspose (const char *InArr, unsigned int n, const char *OutArray) 【输入】InArr: 输入的字符矩阵 n: N*N矩阵的行原创 2014-04-21 11:13:37 · 745 阅读 · 0 评论 -
2012华为编程大赛第三题
// Analysis.cpp : 定义控制台应用程序的入口点。///*2012华为编程大赛第三题3. 语法分析(40分)问题描述: 编译器通过语法分析来检测程序的一些语法问题。要求实现一个简单的语法分析程序,判断输入的字符串是否有符合要求的语法组合。需要判断的语法组合有:if thenif ( ) thenswitch case endswitch ( ) case转载 2014-04-21 11:26:11 · 710 阅读 · 0 评论