c++
majalis_C
-------------
展开
-
蓝桥杯决赛试题:求1到n的最小公倍数
题目:为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。1 2 3 4 5 6我们希望寻找到能除尽1至n的的每个数字的最小整数。不要小看这个数字,它可能十分大,比如n=100, 则该数为:6972 0375 2297 1247 7...转载 2020-05-04 18:00:16 · 927 阅读 · 0 评论 -
《编程珠玑》一书中习题1.2中如何使用位逻辑运算来实现位向量的理解
这是一道非常基础的题目,考察对位运算的理解,乍看题目只觉得好眼熟,然后(手贱)瞟了一眼答案,第一遍没看明白答案的内容,就上网查了一下,网上的人要么就是一笔带过(大概是觉得太简单),要么就是误人子弟。解决题目之前应该先搞清楚题目是干嘛的:位向量顾名思义就是用位来存储一个数,文中说存储N=10000000个数,每一位代表一个数。我们可以定义一个int类型的数组int a[N],那么如果a[...转载 2020-03-16 20:41:47 · 305 阅读 · 0 评论 -
有依赖的01背包问题( 金明的预算方案)
考虑到每个主件最多只有两个附件,因此我们可以通过转化,把原问题转化为01背包问题来解决,在用01背包之前我们需要对输入数据进行处理,把每一种物品归类,即:把每一个主件和它的附件看作一类物品。处理好之后,我们就可以使用01背包算法了。在取某件物品时,我们只需要从以下四种方案中取最大的那种方案:只取主件、取主件+附件1、取主件+附件2、既主件+附件1+附件2。很容易得到如下状态转移方程:f[i,j...转载 2020-02-17 15:55:15 · 251 阅读 · 0 评论 -
解决找不到mfc140.dll的问题
mfc140.dll控件常规安装方法(仅供参考):如果在运行某软件或编译程序时提示缺少、找不到mfc140.dll等类似提示,您可将从脚本之家下载来的mfc140.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。根据软件情况选择文件版本。此步骤比较复杂,如果是Windows的dll文件, 版本号以5.0开头的或含有 nt 一般...转载 2019-10-31 12:00:08 · 60602 阅读 · 3 评论 -
VS,无法启动指定的程序,系统找不到指定的文件(转载)
转自:http://hi.baidu.com/angcyo/item/f59d7644a3790f2510ee1ea2一般出现这种情况,大多数都是从网上down下来的源码之类的.问题截图:由于双方环境的问题,所以不能直接使用.不过没关系,今天我找到了解决的方法,在这里给大家分享一下.虽然网上可能有,但是我觉得多一份信息,多一份找到的可能,多一份解决的机会.并且我保证...转载 2019-10-31 11:41:31 · 2158 阅读 · 1 评论 -
检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
生成错误:error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”解决:在工程上右键-》属性-》c/c++-》代码生成-》运行库改成(release为MT,debug为MTD),如果有多个工程(主工程中包含动态或者静态链接库工程)都得同样设置。即可解决!发现...转载 2019-10-31 11:15:31 · 1882 阅读 · 0 评论 -
C++中类成员函数作为回调函数
回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以理解为什么C++类的多个实例可以共享成...转载 2019-10-30 13:05:02 · 477 阅读 · 0 评论 -
(一)c++调用自己编写的静态库
c++调用自己编写的静态库1.静态库的介绍:一个静态库可以简单看成是一组目标文件(.o/.obj文件)的集合,静态库与汇编生成的目标文件一起链接为可执行文件。2. 静态库的优缺点:(1)静态库对函数库的链接在编译时期完成,程序在运行时与函数库无关,移植方便。(2)所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件,浪费空间和资源。3.Demo实例:StaticMa...转载 2019-10-29 18:18:32 · 1007 阅读 · 0 评论 -
MFC子窗口向父窗口发送消息(测试成功20110117)
在MFC中,使用用户自定义消息,子窗口向父窗口发送消息过程、代码:1)在resourse.h中增加定义://#define WM_add_event_ok (WM_USER + 100) //这种定义方法没有测试,不知道行不行;static UINT WM_add_event_ok = RegisterWindowMessage(_T("User"));//测试过,可行。2)在父窗...转载 2019-10-17 18:17:28 · 269 阅读 · 0 评论 -
联合体(union)的使用方法及其本质
版权声明:联系方式:qw072117@foxmail.com。原创内容,版权所有,禁止抄袭和不注明来源的转载。 https://blog.csdn.net/huqinweI987/article/details/23597091有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新。1.联合体union的基本特性——和struct的同与不同un...转载 2019-06-28 18:56:19 · 369 阅读 · 0 评论 -
c++ 有关未用对传参方式而出现的意外内存释放问题 20190710
创建了一个类,因为此类的对象常出现赋值的操作情况,所以重写了该类的赋值符号。类似于下方这样:class test{int* a[10];test& operator=(test t){for(int i=0;i<10;i++){this.a[i]=new int();this.a[i]=t.a[i];}}~test(){for(int ...原创 2019-07-10 09:50:32 · 234 阅读 · 0 评论 -
C++内联函数
本文为转载文章,原文链接:https://www.cnblogs.com/QG-whz/p/4641479.html阅读目录什么是内联函数 如何使函数内联 为什么要使用内联函数 inline函数的优缺点分析 什么时候该使用内联函数正文 在C语言中,我们使用宏定义函数这种借助编译器的优化技术来减少程序的执行时间,那么在C++中有没有相同的技术或者更好的实现方法呢?...转载 2019-07-15 09:16:00 · 152 阅读 · 0 评论 -
CreateDialog的使用例子
// 在做一个demo时候,使用DialogBox,弹了个MessagBox,怎么也关闭不了。// 找了半天也不知道问题在哪里。// 最终重新使用VC6建立了个win32工程,发现里面的about窗口的消息是// 没有调用手动return DefWindowProc(hWnd, msg, wParam, lParam);//提供一个测试通过的模板,控件消息正常,关闭正常#in...转载 2019-07-11 13:36:50 · 1132 阅读 · 1 评论 -
vs调试“字符串中字符无效”处理办法
自从将visual studio从2010升级到2015后,发现调用接口的utf8格式字符串不能正常显示了,常常被莫名其妙截断,查了下,原来可以直接将变量拖到watch窗口中,在变量名后面手动添加,s8予以解决,总结如下:,s8:将字符串转成unicode展示,数字 将变量拆分为数组显示, 数字是要显示多少位, 此法对const char*这类原始字符串非常有用,x16进制...转载 2019-07-12 10:10:54 · 7439 阅读 · 1 评论 -
C++的Json解析库:jsoncpp和boost
做项目遇到需要c++生成和解析json格式。以下为转载内容,虽然时隔久远,但也是一个参考的引子。感谢原作者分享!https://blog.csdn.net/hzyong_c/article/details/7163589JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org,本文不再对json做介...转载 2019-07-22 11:19:18 · 365 阅读 · 0 评论 -
C++继承-重载-多态-虚函数
原文链接:https://www.cnblogs.com/smuxiaolei/p/7516086.htmlC++继承基类 & 派生类一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数。定义一个派生类,我们使用一个类派生列表来指定基类。类派生列表以一个或多个基类命名,形式如下:// 派生类class Rectangle: public Shape{...转载 2019-07-22 12:08:55 · 280 阅读 · 0 评论 -
MFC之Tab Control控件简单使用
https://blog.csdn.net/u010780613/article/details/53883634转载 2019-08-03 21:56:50 · 278 阅读 · 0 评论 -
C++安全函数之strcat_s
1.必须包含的头文件:<string.h>2.函数申明:errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource);3.参数介绍strDestinationNull 终止的目标字符串缓冲区。numberOfElements目标字符串缓冲...转载 2019-07-23 11:55:43 · 2602 阅读 · 0 评论 -
关于 C++ 中的 extern "C"
关于 C++ 中的 extern "C"简介C++ 语言的创建初衷是 "a better C",但是这并不意味着 C++ 中类似 C 语言的全局变量和函数所采用的编译和连接方式与 C 语言完全相同。作为一种欲与 C 兼容的语言, C++ 保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而它可以定义不属于任何类的全局变量和函数。但是, C++ 毕竟是一种面向对象的程序设计语...转载 2019-07-27 16:21:54 · 541 阅读 · 0 评论 -
c++类对象初始化方式总结
在《inside the c++ object model》一书中谈到copy constructor的构造操作,有三种情况下,会以一个object的内容作为另一个object的初值:第一种情况: XX aa = a;第二种情况: XX aa(a);第三种情况: extern fun(XX aa); fun(a)函数调用第四种情况: XX fun(){...}; XX a = fun()...转载 2019-07-28 17:04:33 · 898 阅读 · 0 评论 -
解决: error C2236: 意外的标记“class”。是否忘记了“;”?
https://blog.csdn.net/a731062834/article/details/88544650再三确认报错的头文件TP_Protocol.h没有错误后,上网搜索了一圈原来,在调用报错的头文件TP_Protocol.h的某个地方,其上面的WS_Protocol.h.h有类的末尾没有加上分号;...转载 2019-08-07 12:11:52 · 1156 阅读 · 0 评论 -
C++的取整:向下取整,向上取整,四舍五入取整,直接去小数点取整
本文链接:https://blog.csdn.net/Mikchy/article/details/81456057作用 函数名称 函数说明 2.1 2.9 -2.1 -2.9向下取整 floor() 不大于自变量的最大整数 2 2 -3 -3向上取整 ceil() 不小于自变量的最大整数 3 3...转载 2019-08-20 13:17:12 · 3458 阅读 · 0 评论 -
c++中如何计算 exp、ln
遇到需要计算公式的情况,需要计算exp(计算e的n次方)、ln(以e为底的数)。简单点的解决方式为#include<cmath>,然后直接使用其中的函数即可。需要记住的是:log是e为底的对数。log10是10为底的对数。其他的用换底公式自己转换。以上...原创 2019-08-11 18:41:41 · 16675 阅读 · 0 评论 -
[转]C/C++:学习void与void*详解
https://blog.csdn.net/odianzi1234567/article/details/82694228void与void*详解void 无类型 void* 无类型指针 可以指向任意类型的数据。void:1.函数没有返回值,声明为void类型2.函数无参数。3.函数的参数可以是任意类型的指针 void*。【void真正发挥的作用在于】:1) ...转载 2019-08-26 19:30:20 · 251 阅读 · 0 评论 -
Windows编程之WinMain——应用的入口
每个Windows程序都有一个入口函数,命名为WinMain或wWinMain。其定义如下:int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);我们先分别认识一下方法中的四个参数。hInstance:可以理解为程序实例的handle。当程序装入内...翻译 2019-03-31 14:22:01 · 4622 阅读 · 0 评论 -
使用PostThreadMessage在Win32线程间传递消息
PostThreadMessage的原型是这样的BOOL PostThreadMessage(DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam);PostThreadMessage可以用于线程之间的异步通讯,因为它不用等待调用者返回,这也许是线程通讯中最简单的一种方法了。但是要注意以下问题1 .Pos...转载 2019-07-09 11:20:38 · 902 阅读 · 0 评论 -
C/C++编程之内存管理
内存分配方式C语言中内存分配方式(1)从(全局)静态存储区域分配;内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,例如,全局变量,静态变量。(2)常量存储区;存储程序中的常量。(3)栈区;在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束后这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。...转载 2019-07-03 15:00:31 · 179 阅读 · 0 评论 -
C++ extern关键字
https://docs.microsoft.com/zh-cn/cpp/cpp/extern-cpp?view=vs-2019extern 关键字应用于全局变量、函数、模板等声明,来指定其具有外部连接。在说明其含义之前,有必要简单了解一下程序和连接。在C++种,符号(例如变量或者是函数名)在其范围内可以声明任意次数,但是只能被定义一次。声明在程序种引入或者是重新引入一个名称。定义引入...原创 2019-04-23 22:24:27 · 378 阅读 · 0 评论 -
Win32创建一个Dialog以显示或输入信息
Windows应用程序中,有时候需要用户输入数据,程序才能走下去。通常利用对话框来进行用户和应用程序的交互。创建一个用来显示或输入少量信息的对话框并不难,但因为是初学,还是被折腾了一会儿。首先要打开资源视图,点击程序名,在下面新建一个资源。资源类型选择Dialog。如上图所示,选中SimpleWin,右击,添加资源。选中Dialog,点击新建。就可以新建一个对话框资源。我已...原创 2019-04-12 15:02:04 · 3193 阅读 · 0 评论 -
SolidWorks安装成功但新建零件会崩溃
最近要用SolidWorks,下载安装完成后,发现新建零件会崩溃。试了很多种办法都没有解决。之后发现将设置里的“使用软件OpenGL”勾选后,此问题可以解决。但这不是最完美的解决方式,仅仅是让应用不崩溃了而已。其实该问题的原因是我的电脑上的显卡驱动版本太低。这个我们放到后面再说,先说如何设置OpenGL解决问题。步骤如下:打开SolidWorks,点击设置按钮出现如上界面,选择...原创 2019-04-03 12:58:00 · 16119 阅读 · 3 评论 -
C++ BSTR数据类型
BSTR(Basic string or binary string)是COM 、Automatic、Interop使用的string数据类型。在从脚本访问的所有接口中使用BSTR。typedef WCHAR OLECHAR;typedef OLECHAR* BSTR;typedef BSTR* LPBSTR;BSTR是一个复合性的数据类型,其包含长度前缀(length prefi...翻译 2019-04-07 10:28:18 · 5394 阅读 · 0 评论 -
C++ _com_ptr_t类
C++没有类似Java的内存回收机制,每执行一次new,就要手动delete。但是这容易产生很多问题。例如:string* str=new string("...");something.....//如果此处的代码出现了异常,导致程序终止。那么delete str便不会被执行。导致内存泄漏。delete str;如上例所示,实际编程种有很多种情况容易导致内存泄漏,这种情况并不少见。...原创 2019-04-07 09:07:34 · 1020 阅读 · 1 评论 -
Windows编程之创建第一个应用
https://blog.csdn.net/majalis_C/article/details/88920674https://blog.csdn.net/majalis_C/article/details/88827871https://blog.csdn.net/majalis_C/article/details/88921745https://blog.csdn.net/maja...翻译 2019-03-31 23:07:27 · 246 阅读 · 0 评论 -
Windows编程之Window介绍
最近在学习windows编程,本来想写个总结。可发现仅仅 3天没碰代码,记忆就淡了。话说这个记忆力可能提前奔三了。所以依旧用复习的老办法,再看一遍官方文档,翻译,并且记录。先来介绍下什么是window(窗口)。当我们谈到window时,所想到的可能是这样的。这种窗口称为应用窗口或者主窗口。通常有一个带标题栏的边框,最大化最小化按钮,以及其他UI元素。这个边框称为Window的no...翻译 2019-03-31 12:17:11 · 1991 阅读 · 0 评论 -
Windows代码规则
初次接触Windows编程,发现代码通篇都是奇奇怪怪的东西。像DWORD_PTR和DWORD_PTR这些东西,让人很是迷惑。本来入门还算容易,结果因为这些奇奇怪怪的东西,生生拖延了很多时间。看起来实在费劲。故需先跟他们混个眼儿熟,以便他们奇怪的外形不至于让开发者看着眼晕。文章内容很多都参考了官方文档,若有翻译不准确的请温柔地指出。先来看下这群奇怪的东西分别所占的位数。BYTE 8 b...原创 2019-03-31 00:00:50 · 305 阅读 · 0 评论 -
Unicode和多字节
Windows既可以使用Unicode字符集又可以使用传统的字符集(例如多字节编码)来实现对多种语言的支持。与传统的字符集编码相比,Unicode是世界通用的字符编码标准,使用16位数据表示一个字符(UTF-16)。传统的字符集,例如WindowsANSI字符集,使用8位一个字符。或者将相邻的两个8位的数据组合在一起表示特殊的语言字符。Windows系统采用了ANSI字符的扩展方式,如果一个...原创 2019-03-26 20:21:36 · 1086 阅读 · 0 评论 -
win32 edit控件尾部追加内容
有时候我们可能想在win32程序上实时打印我们想要的一些信息,不是以覆盖的形式而是以追加的形式。 以前我常常采用比较笨的方式,首先调用GetDlgItemText获取原先字符串,保存在一个字符数组里面,然后将字符数组追加一个字符串,再调用SetDlgItemText函数达到自己的目的了,这种方式如果要打印的文字短还比较好处理,但是当文字量达到一定程度时,我们势必就要分配一个特别大的...转载 2019-03-26 15:35:56 · 939 阅读 · 0 评论 -
vs2017解决can not open include file afxrec.h问题
使用vs2017打开w32窗口项目,出现上述问题。解决:打开C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\include,看其文件夹下有无afxrec.h,若没有,从其他地方拷贝一个过来。问题解决...原创 2019-03-19 18:13:40 · 1835 阅读 · 0 评论 -
C/C++怎样生成确定范围的随机数(如[-1,1])
1、生成[-1,1]的随机数float GetRand(){ return 2 .0 * rand() / RAND_MAX - 1.0;}注意那个2.0不能写成2了,那样的话,你就真……2、生成low到up(low < up)之间的随机正整数unsigned int GetRandomInteger(int low, int up){ unsign...转载 2019-05-02 18:59:10 · 4455 阅读 · 0 评论 -
\r,\n,\r\n的区别
原文链接:https://www.cnblogs.com/xiaotiannet/p/3510586.html\r,\n,\r\n的区别代码: 1: string s1 = "已经习惯了回车和换行一次搞定\n,敲一个回车键,即是回"; 2: 3: Console.WriteLine(s1); ...转载 2019-04-25 13:10:36 · 296 阅读 · 0 评论