随笔分类 -  C/C++

Windows动态链接库:dll与exe相互调用问题
摘要:本文回顾学习一下Windows动态链接库:dll与exe相互调用问题。一般滴,exe用来调用dll中的类或函数,但是dll中也可以调用exe中的类或函数,本文做一些尝试总结。 dll程序: Calculator.h 123456789101112131415161718192021222324252 阅读全文

posted @ 2019-10-12 09:26 我来乔23 阅读(2240) 评论(0) 推荐(1)

一个好用的单例类模板
摘要:在程序开发中,某一个类对象经常需要在好多个类中使用,为测试方便,好多初学者声明一个该类的全局变量,然后在其它类中引用使用。 但是,好的编码是能不用全局变量就不用全局变量。 这些类对象往往时单一的对象,于是可以使用设计模式中的单例模式来很好地规避全局变量的使用。 Singleton.h 1234567 阅读全文

posted @ 2019-10-11 15:41 我来乔23 阅读(259) 评论(0) 推荐(0)

[转]C++ 堆栈溢出的原因以及可行的解决方法
摘要:栈溢出(stackoverflow)的原因及解决办法 大家都知道,Windows程序的内存机制大概是这样的:全局变量(局部的静态变量本质也属于此范围)存储于堆内存,该段内存较大,一般不会溢出; 函数地址、函数参数、局部变量等信息存储于栈内存,VC++6中栈内存默认大小为1M,对于当前日益扩大的程序规 阅读全文

posted @ 2019-06-28 16:46 我来乔23 阅读(10143) 评论(1) 推荐(0)

C++运算符重载学习总结
摘要:在C ++中,我们可以使运算符适用于用户定义的类。 这意味着C ++能够为运算符提供数据类型的特殊含义,这种能力称为运算符重载。 例如,我们可以在像String这样的类中重载运算符'+',这样我们就可以通过使用+来连接两个字符串。 其它示例中算术运算符可以重载的的类是复数,小数,大整数等。 运算符重 阅读全文

posted @ 2019-06-28 14:07 我来乔23 阅读(1330) 评论(0) 推荐(0)

关于C++中使用++it还是it++的问题
摘要:我们经常使用for循环来遍历东西,循环变量可以前自增也可以后自增,发现对遍历结果没啥影响,但是该如何选择呢? 我们应该尽量使用前自增运算符而不是后自增运算符,即用 ++ Iter 代替 Iter++ 。 为什么要这么做,有什么有实际价值?下面我会详细解释。 前缀和后缀形式之间的区别是众所周知的。我希 阅读全文

posted @ 2019-06-28 11:06 我来乔23 阅读(1642) 评论(0) 推荐(0)

[转]C++类成员修饰const和mutable
摘要:const:常量,不变的 mutable:易变的 从意思上理解,可见const和mutable是一对反义词,它们都是C++的关键字。 const成员函数不能修改调用它的对象。类的成员函数可以被声明为const,这将使得函数的隐式参数this将被作为const类型的指针。这也就意味着一个const成员 阅读全文

posted @ 2019-05-16 17:21 我来乔23 阅读(396) 评论(0) 推荐(0)

C++ 使用vector时遇到的一个问题
摘要:我在测试程序中定义一个存储三维点的结构体,并定义该结构体的vector,当我在向vector插入元素时,编译一直提示错误: 代码片段如下: <!-- CoolFormat Source Formatter http://blog.csdn.net/akof1314 --> C++ Code 1234 阅读全文

posted @ 2019-03-15 10:40 我来乔23 阅读(755) 评论(0) 推荐(0)

C++ 保存Excel文件(带密码保护)
摘要:最近有客户需求报表保存为xls的功能,需要保存的文件设置密码保护,特进行尝试! Workbook.SaveAs method (Excel) 参数详情:https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.saveas C++ 阅读全文

posted @ 2018-12-28 15:51 我来乔23 阅读(1276) 评论(0) 推荐(0)

UTF8与std:string互转
摘要:Ajax请求发送的UTF8编码字符串传到后台使用std:string进一步处理,如果包含中文会出现中文乱码的问题: 特找了一下转码的解决方法,直接代码如下: C++ Code 12345678910111213141516171819202122232425262728293031323334353 阅读全文

posted @ 2018-12-27 16:45 我来乔23 阅读(6652) 评论(0) 推荐(0)

C++中使用ODBC API访问数据库例程
摘要:使用ODBC API访问数据库简单流程,供参考使用: ODBC API 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616 阅读全文

posted @ 2018-09-03 14:20 我来乔23 阅读(4226) 评论(3) 推荐(2)

char与TCHAR相互转换(拒绝中文乱码,好用!)
摘要:C++编程中屡屡要遇到宽窄字符转换的问题,尤其是字符串中有中文,稍有不慎就会中文乱码,程序运行出错。 下面为char*、char[]与TCHAR*、TCHAR[]互转的用法,不求花哨,只求好用!请参考~ char转TCHAR char转TCHAR 1234567 char szWord[20] =  阅读全文

posted @ 2018-07-31 14:48 我来乔23 阅读(3322) 评论(0) 推荐(0)

关于使用_bstr_t的一个坑
摘要:编程中需要将_variant_t转换为char*,常用的方法是:(const char*)_bstr_t(c_variant_t); 使用_bstr_t的构造函数: _bstr_t(const _variant_t& var) ; C++ Code 123456789101112131415 //  阅读全文

posted @ 2018-07-20 15:57 我来乔23 阅读(910) 评论(0) 推荐(0)

[转]wcout输出中文却不显示出来
摘要:准备使用UNICODE来写个控制台测试程序发现,cout无法输出UNICODE的中文字符。查找C++标准看到,其提供了wcin、wcout、wcerr、wclog用于处理wchar_t字符的输入输出。 在VS2008中调用wcout不显示中文字符,可以使用下面方式处理: wcout输出时显示不了中文 阅读全文

posted @ 2018-07-13 14:31 我来乔23 阅读(422) 评论(0) 推荐(0)

理解抽象类与接口
摘要:抽象类: abstract Class Class Animal { public: virtual void getShoutSound() = 0; // 纯虚函数 }; Class Cat: public Animal { public: virtual void getShoutSound( 阅读全文

posted @ 2018-07-11 13:41 我来乔23 阅读(334) 评论(0) 推荐(0)

Http post请求数据带中文参数问题
摘要:Http请求参数带中文参数时,如{"userName":"用户名123","password":"123456"} 请求返回:01-用户名密码错误 明明用户名以及密码都正确,为啥会不对呢?原来有可能是服务器编码问题,服务器一般是用UTF-8编码,需要对post的json字符串进行utf-8转码后才能 阅读全文

posted @ 2018-06-13 17:54 我来乔23 阅读(3265) 评论(0) 推荐(0)

catch(…) vs catch(CException *)?
摘要:转自:https://stackoverflow.com/questions/7412185/what-is-the-difference-between-catch-vs-catchcexception try{}catch( const CException & e ){// catch all 阅读全文

posted @ 2018-05-22 10:23 我来乔23 阅读(359) 评论(0) 推荐(0)

char[]与TCHAR[]互相转换引发的一个问题!
摘要:软件的一个驱动由于开发的年代比较久一些,使用的是非Unicode编码,而当前新的软件使用的是Unicode编码,于是将非Unicode驱动用于Unicode软件上时,就出现了问题! 问题就出现在非Unicode与Unicode的转换过程中! 程序中使用了char数组以及TCHAR数组,而数组是以字符 阅读全文

posted @ 2018-05-16 14:31 我来乔23 阅读(411) 评论(0) 推荐(0)

C++ map修改指定key的value
摘要:对于修改C++指定key的value,网上查了很多,都说直接insert就会覆盖原来的值,是否是这样的呢? C++ Code 1234567891011121314151617181920212223242526272829303132333435363738 // mapmodifykey.cpp 阅读全文

posted @ 2018-05-07 16:33 我来乔23 阅读(8772) 评论(0) 推荐(2)

C++ STL迭代器与索引相互转换
摘要:0 前言 C++ STL提供了vector、list等模板容器,极大地方便了编程使用。 “遍历”是对容器使用的最常用的操作。 使用迭代器来遍历是最好最高效的遍历方法。 当然,对于有些容器的遍历除了使用迭代器,还可以使用传统的索引来遍历。 在实际编程中,需要迭代器和索引同时使用,混合编程,就难免会涉及 阅读全文

posted @ 2018-03-15 18:00 我来乔23 阅读(2494) 评论(0) 推荐(1)

【转】C++ Incorrect Memory Usage and Corrupted Memory(模拟C++程序内存使用崩溃问题)
摘要:http://www.bogotobogo.com/cplusplus/CppCrashDebuggingMemoryLeak.php Incorrect Memory Usage and Corrupted Memory Here are the primary sources of the me 阅读全文

posted @ 2018-03-02 11:24 我来乔23 阅读(403) 评论(0) 推荐(0)

导航