c++
文章平均质量分 66
yibert
这个作者很懒,什么都没留下…
展开
-
C++模板:函数模板和模板函数
转载自:http://blog.csdn.net/beyondhaven/article/details/42043451.函数模板的声明和模板函数的生成1.1函数模板的声明函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。函数模板的声明形式为:templa转载 2015-01-31 16:24:44 · 431 阅读 · 0 评论 -
unresolved external symbol __report_rangecheckfailure 解决思路
unresolved external symbol __report_rangecheckfailure 解决思路__report_rangecheckfailure 是用来检查堆栈缓存溢出的,如果编译的时候打开GS(project property--》Configuration properties--》c/c++--》Code generation--》Buffer security原创 2015-03-29 20:07:41 · 5712 阅读 · 0 评论 -
C++中delete和delete[]的区别
在c++中,正常的分配与释放内存的对应方法如下:newdeletemalloc freenew [ ]delete[ ]delete 和delete[ ]的本质区别是:1、当释放的对象是数据p[n]时,用delete只会调用p[0]的析构函数,其他后续的对象的析构函数不会被调用,这就有可能导致问题。2、当释放的原创 2015-03-18 19:32:17 · 358 阅读 · 0 评论 -
#pragma comment 使用
编写程序的时候,我们常用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma once :这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,避免文件被重复包含。 #pragma comment :该 指令的格式:#pragma comment( comment-type [,"comm转载 2015-03-24 09:45:17 · 796 阅读 · 0 评论 -
总结C++中的所有强制转换函数(const_cast,reinterpret_cast,static_cast,dynamic_cast)
做个笔记:源自论坛:http://bbs.csdn.net/topics/210039564总结C++中的所有强制转换函数(const_cast,reinterpret_cast,static_cast,dynamic_cast)C 风格(C-style)强制转型如下:(T) expression // cast expression to be of type T原创 2015-04-03 09:35:29 · 534 阅读 · 0 评论 -
【转载】C++成员函数指针的应用,可作为回调函数实参
做个笔记,本文转自:http://www.cppblog.com/colys/articles/25785.htmlC++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现原创 2015-04-14 19:45:39 · 404 阅读 · 0 评论 -
c++ 利用 chilkat 库发送 html邮件
转载请注明出处:!谢谢!先简单介绍一下chilkat库,chikat是由一家芝加哥公司开发的商业组件,功能比较齐全,详细介绍可以到官网自行阅读不是外发产品还是可以用的,chilkat支持多个平台、语音,详细请看:http://www.chilkatsoft.com/c++ 下载地址:http://www.example-code.com/cpp/default.asp 下载时自行认准对应原创 2015-03-30 21:05:09 · 3249 阅读 · 0 评论 -
【转载】 C/C++运行库
http://book.csdn.net/bookfiles/1017/100101730949.shtml 呵呵,这篇真是好东西,先把它弄在我的地盘再慢慢咀嚼……原来这是一本书上的《程序员的自我修养》,好东西,crt我迷惑了好久……11.2 C/C++运行库11.2.1 C语言运行库任何一个C程序,它的背后都有一套庞大的代码来进行支撑,以使得该程序能够正常运行。这套代转载 2015-03-30 00:31:19 · 634 阅读 · 0 评论 -
c++ 根据编译时间的版本号输出
看了一段代码,根据版本的编译日期生成版本号,觉得很不错,记下来以后可用,哈哈GetVersion(){ std::string monthes[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",原创 2015-05-28 10:23:14 · 3069 阅读 · 0 评论 -
C++ libxml 中文问题
c++ 中使用libxml中操作中文字符的时候出现各种写入出错、读出乱码等问题,经过半天的折腾,写个笔记:首先明确下边几个事情就很容易知道问题在哪了:1、cpp 文件中出现的中文字符串常量都会被保存成ansi格式,而gb2312格式可以理解为ansi格式的一个子集。(在中文和日文操作系统里生成的(txt和xml)文件的编码虽然都是ansi,但是,在简体中文系统下,ansi 编码代表原创 2015-05-21 17:04:09 · 1770 阅读 · 0 评论 -
chilkat破解
Chilkat类库的确好用 所以我一直在用 结果今天突然发现 HTTP的老是访问失败 但是我浏览器也能打开网站啊 结果http.LastErrorText发现解锁CODE过期了 结果上chilkat官网上一搜 我类个擦 竟然每个模块都要钱买 买的还不是永久的1年期限 貌似也不便宜 100多刀 咋整呢 当时哥就怒了 直接上注册表搜chilkat,结果发现有注册表项 chilkat corporati转载 2015-06-29 12:44:47 · 5081 阅读 · 0 评论 -
【转载】C++ 编译器的函数名修饰规则
转载自:http://mxdxm.iteye.com/blog/510486C++ 编译器的函数名修饰规则 函数名字修饰(Decorated Name)方式 函数的名字修饰(Decorated Name)就是编译器在编译期间创建的一个字符串,用来指明函数的定义或原型。LINK程序或其他工具有时需要指定函数的名字修饰来定位函数的正确位置。多数情况下程序员并不需要知原创 2015-03-30 12:50:03 · 687 阅读 · 0 评论 -
c++ 查看库文件符号表
做个笔记:linux 下查看符号表工具:nm操作如下: linux的nm命令可以一个文件中的符号列表,列出以上代码Gcc -c编译出的a.o(a.a a.so)可以通过nm命令来查看其中的符号信息:源码打印?0000000000000000 t 0000000000000000 d 000000000000000原创 2015-03-30 01:24:00 · 9903 阅读 · 0 评论 -
__declspec(dllimport)的作用
作者:朱金灿来源:http://blog.csdn.net/clever101/ 是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管原创 2015-01-31 20:26:21 · 483 阅读 · 0 评论 -
dllimport 与 dllexport 的一些简单看法
一、dllexport 和 dllimport 是什么dllexport 和 dllimport 存储类特性是 C 和 C++ 语言的 Microsoft 专用扩展。 可以使用它们从 DLL 中导出或向其中导入函数、数据和对象。二、什么时候需要用到dllexport 和 dllimport当我们在编写window dll时,我们需要为dll导出可被外部调用的接口,这时候我们可以原创 2015-01-31 20:55:25 · 1704 阅读 · 0 评论 -
c++ 设置控制台输出行数和列数
#include//设置控制台输出行数和列数void main(){ system("mode con:cols=100 lines=1000"); }原创 2015-02-06 10:55:31 · 1895 阅读 · 0 评论 -
Windows API 错误码解析
Windows API 错误码解析调用Windows API失败后,通常需要通过GetLastError来获取对应的错误码,要将此错误码解析为对应的描述信息,则需要调用另外一个Windows API FormatMessage,原型如下:DWORD WINAPI FormatMessage( _In_ DWORD dwFlags, _In_opt_ LPCVOID lp原创 2015-03-16 20:03:15 · 926 阅读 · 0 评论 -
C++中Exit()与atexit()函数的使用
来源:http://blog.sina.com.cn/s/blog_5cec5bad0100b0x2.html 一、exit()函数函数声明:void exit(int state);exit()函数用于在程序运行的过程中随时结束程序,exit的参数state是返回给操作系统,返回0表示程序正常结束,非0表示程序非正常结束。main函数结束时也会隐式地调用exit函数。转载 2015-03-26 14:59:42 · 502 阅读 · 0 评论 -
mfc关闭模态dialog的正确方式
在模态对话框中:正常的用户触发的OnOK 、OnCancel消息都是通过调用函数EndDialog去关闭模态对话框的,EndDialog函数并不立即清除对话框。而是设置一个标志,并且允许对话框应用程序把控制权返回系统。系统在试图从应用程序队列检索下一个消息之前检测标志。如果已经设置了标志则系统中止消息循环,清除对话框,所以当我们想在代码中去调用EndDialog函数去结束对话框,最后再释放对话原创 2015-03-20 10:38:27 · 14025 阅读 · 1 评论 -
C++ 模板引擎 Ctemplate 的介绍
C&C++的模板引擎相对比较少,比较有名的是ClearSilver 和Teng ,他们功能都比较强大,我需要一个轻量级的模板引擎Ctemplate ctemplate的设计哲学是轻量级,快速,且逻辑和界面分离,因此和ClearSilver和Teng是有一些差异的。比如Ctemplate就没有模板函数,没有条件判断和循环语句(当然,它可以通过变通的方式来实现)。1.Ctemplate转载 2015-03-27 15:37:26 · 1095 阅读 · 1 评论 -
C++ auto_ptr智能指针的用法
C++ auto_ptr智能指针的用法 C++中指针申请和释放内存通常采用的方式是new和delete。然而标准C++中还有一个强大的模版类就是auto_ptr,它可以在你不用的时候自动帮你释放内存。下面简单说一下用法。[cpp] view plaincopy用法一: std::auto_ptrm_example(new MyClass()); 用法二:转载 2015-03-29 17:39:38 · 373 阅读 · 0 评论 -
【转载】c++程序链接的过程原理详解
原文地址: http://zengzn.blogspot.com/2008/02/boostregexhpp-lnk2005.html 许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三转载 2015-03-30 01:07:53 · 406 阅读 · 0 评论 -
序运行时的内存空间分类情况
程序的内存分配:一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(原创 2015-03-30 01:13:19 · 484 阅读 · 0 评论 -
linux 库 动态 静态 编译 混合 使用
1、在Linux下,动态库和静态库同时存在时,gcc/g++的链接程序,默认链接的动态库。可以使用下面的方法,给连接器传递参数,看是否链接动态库还是静态库。-WI,-Bstatic -llibname //指定让gcc/g++链接静态库eg:gcc/g++ test.c -o t转载 2016-02-01 00:27:15 · 1322 阅读 · 0 评论