
C++
文章平均质量分 91
little_two_two
这个作者很懒,什么都没留下…
展开
-
inline函数和宏函数的区别
#define TABLE_COMP(x)((x)>0?(x):0)这是一个宏定义,为什么要用宏呢?因为函数的调用必须将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到执行该函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到执行该函数前的地方,这种转移操作的要求在转去执行前要保存现场,并记忆执行的地址,转会后要恢复现场,并将原来保存地址继转载 2014-12-16 13:29:22 · 713 阅读 · 0 评论 -
C++11 并发指南一(C++11 多线程初探)
转载自:http://www.cnblogs.com/haippy/p/3235560.htmlC++11 自2011年发布以来已经快两年了,之前一直没怎么关注,直到最近几个月才看了一些 C++11 的新特性,今后几篇博客我都会写一些关于 C++11 的特性,算是记录一下自己学到的东西吧,和大家共勉。相信 Linux 程序员都用过 Pthread, 但有了 C++11 的 st转载 2014-12-15 17:14:31 · 1665 阅读 · 0 评论 -
功能函数strcpy的实现(考虑内存覆盖)
转载自:http://www.cnblogs.com/chenyg32/strcpy函数的实现已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数解释为什么要返回char *假如考虑dst和src内存重叠的情况,strcpy该怎么实现 1.strcpy的实现代码c转载 2014-12-09 17:21:32 · 2793 阅读 · 6 评论 -
C/C++用移位实现除法运算
例如:a = 3 * 16;b = 100 / 4;3变为二进制:0000 0000 0000 0011,乘以16相当于左移4位,即16为2的4次幂。移位后为0000 0000 0011 0000换为10进制为48100变为二进制:0000 0000 0110 0100,除以4相当于右移2位,即4为2的2次幂。移位后为0000 0000 0001 1001,换为10进制为25例原创 2014-12-09 17:37:29 · 5106 阅读 · 0 评论 -
C++实现1-100乱序输出
#include#include#include#includeusing namespace std;int main(){ const int N = 100; int A[N]; int tmp; int i; for ( int i=0; i<100; i++) { A[i] = i+1; cout原创 2014-12-26 01:08:38 · 4413 阅读 · 0 评论 -
C/C++文件操作详解
转载自:http://www.cnblogs.com/jianyungsun/archive/2011/02/19/1958587.html在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1、基于C的文件操作;2、基于C++的文件操作;1、基于C的文件操作 在ANSI C中,对转载 2014-12-11 16:53:58 · 1461 阅读 · 0 评论 -
C++使用默认参数的构造函数
转载自:http://blog.youkuaiyun.com/maojudong/article/details/8172672构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值。在构造函数中也可以采用这样的方法来实现初始化。例9.3的问题也可以使用包含默认参数的构造函数来处理。例9.4 将例9.3程序中的构造函数改用含默认值的参数,长、转载 2015-02-06 10:01:57 · 1728 阅读 · 0 评论 -
计算机各种编码
转载自:http://blog.youkuaiyun.com/lvxiangan/article/details/8151670GBK,ISO-8859-1,GB2312的本质区别编码有几种 ,计算机最初是在美国等国家发明的 所以表示字符只有简单的几个字母只要对字母进行编码就好 我们标准码 iso-8859-1 这就是一个标准但是后来计算机普及了 于是就中国要使用计算机了 但是机器不认转载 2015-04-30 10:13:17 · 9134 阅读 · 0 评论 -
没有找到libmysql.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题
转载自:http://blog.youkuaiyun.com/shimazhuge/article/details/8146860解决办法:1.将C:\mysql\lib\opt目录下的libmysql.dll拷贝到 C:\WINDOWS\system32目录下2.将libmysql.dll拷贝到.exe所在的文件下3.将exe所在目录下的libmysql.dll拷贝到C:\WINDO转载 2015-12-29 19:01:25 · 9982 阅读 · 1 评论 -
1>XxxDlg.obj : error LNK2005: "char * * tabPageData" (?tabPageData@@3PAPADA) 已经在 XxxDlg.obj 中定义
出现这种情况是因为某个.h文件在某个.cpp文件中引用了,而且引用的这个.h中定义的类的方法原创 2016-03-01 21:24:17 · 1047 阅读 · 1 评论 -
C#调用C++生成的Dll库,Dll使用callback向C#传递指针
C++代码void SetCallback(CPPCallback callback){ char *p = "from C++"; callback(p);}C#代码 [DllImport("DLLTest")] private static extern void SetCallback( CSCallback callback ); public d原创 2016-08-12 01:48:35 · 2694 阅读 · 0 评论 -
VS2013添加外部动态库
转载自:http://blog.youkuaiyun.com/u010273652/article/details/25514577创建动态库方法:创建动态库是生成 .dll .lib 两个个文件文件 -> 新建 -> 项目 -> win32控制台应用程序 项目名称:DLLGenerator应用程序类型:DLL 附加选项:空项目建立源文件dll转载 2016-08-12 16:44:12 · 14671 阅读 · 0 评论 -
VS20XX添加外部库引用
将错误信息中出现的标识符放在百度里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。VC6:工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项工程、设置、Link、分类:Input、附加原创 2016-11-07 16:35:25 · 369 阅读 · 0 评论 -
关于卡马克算法和系统函数库方法快速开平方根快慢的研究
class MyMath{public: float GetSqrtMy(float num); float GetSqrtSys(float num);private : long i; float x2, y; const float threehalfs = 1.5F;};#include "MyMath.h"#include #include#inclu原创 2016-12-08 01:13:35 · 1541 阅读 · 1 评论 -
C/C++内存泄露和野指针的概念
内存泄漏 用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。 注意:内存泄漏是指堆内存的泄漏。 简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。转载 2014-11-20 23:27:11 · 8087 阅读 · 1 评论 -
C++之static的使用
本文转自:http://blog.youkuaiyun.com/dqjyong/article/details/7976735static对象如果出现在类中,那么该对象即使从未被使用到,它也会被构造以及析构。而函数中的static对象,如果该函数从未被调用,这个对象也就绝不会诞生,但是在函数每次被调用时检查对象是否需要诞生。下面详细说说static的功能以及它的来龙去脉:static作为编程语言里面一种重要的转载 2014-10-17 23:46:39 · 674 阅读 · 0 评论 -
【4】设计模式之建造者模式(Builder)
1、建造者模式建造者模式:将一个复杂对象的构建与它的表示分离,使得tong'y转载 2014-11-18 12:59:08 · 901 阅读 · 0 评论 -
C++中的虚函数与静态联编和动态联编
程序在调用函数时,原创 2014-04-16 22:53:35 · 1706 阅读 · 0 评论 -
C++中继承与动态内存分配
第一种情况:派生类不使用newjias原创 2014-04-17 12:35:38 · 1109 阅读 · 0 评论 -
类的设计
一、编译器生成的成员函数1、默认构造函数:默认构造函数要么没有参数,要么所有的参数都有默认值,原创 2014-04-17 17:59:34 · 985 阅读 · 0 评论 -
C++11关于function、bind的详解
std::function C++ Utilities library Function objects std::function Defined in header template class >class function; /* undefi转载 2014-07-20 11:34:02 · 1550 阅读 · 0 评论 -
在C++代码中引用C代码
为什么要 extern “C” ?要在 C++ 里使用一段 C 的代码,必须要用extern “C” 括起来。C++跟 C虽然语法上有重叠,但是它们是两个不同的东西,内存里的布局是完全不同的,在C++编译器里不用extern “C”括起C代码,会导致编译器不知道该如何为 C 代码描述内存布局。原创 2014-07-22 22:19:21 · 1001 阅读 · 0 评论 -
C++中assign的用法
void assign( size_type _Count, const Type& _Val);//_Count指要构造的vector成员的个数, _Val指成员的数值,他的类型必须与vector类型一致! template void assign( InputIterator _First, InputIterator _Last ); //两个指针,分别指向复转载 2014-07-29 16:29:23 · 4482 阅读 · 0 评论 -
C++11新特性详解
一、Lambda表达式C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable或exception声明 ->返回值类型 {函数体} 可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、muta转载 2014-08-04 13:23:56 · 792 阅读 · 0 评论 -
1、C/C++基础学习
C语言部分1.指针辨析int (*p)[5]和int *p[5]前者是一个指针,它指向一个含有5个元素的数组。后者是一个数组,它的长度为5,数组中每一个元素指向一个整型变量。int *f( int i, int j)和 int (*p)( int i ,int j)前者是返回指针的函数,它是一个函数的声明,后者是指向函数的指针,它定义了一个指针。转载 2014-09-06 10:29:35 · 925 阅读 · 0 评论 -
特别棒的学习网站
http://en.cppreference.com/w/Main_Page原创 2014-07-20 11:46:10 · 914 阅读 · 0 评论 -
Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
L表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。即win32中,long,near,far指针与普通指针没有区别,LP 与P是等效的。P表示这是一个指针。T表示_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序转载 2014-09-02 21:11:44 · 892 阅读 · 0 评论 -
关于C++头文件相互包含的问题(个人见解)
问题描述:原创 2014-10-24 23:00:03 · 879 阅读 · 0 评论 -
C++中特定宏_FUNCTION_
_FILE__LINE__DATE__TIME__原创 2014-10-25 22:54:07 · 2120 阅读 · 0 评论 -
C++编译错误中英文对照
下面按字母顺序A~Z分别列出致命错误及一般错误信息,英汉对照及处理方法:(一)、致命错误英汉对照及处理方法:A-B致命错误Bad call of in-line function (内部函数非法调用)分析与处理:在使用一个宏定义的内部函数时,没能正确调用。一个内部函数以两个下划线(__)开始和结束。Irreducable expression tree (不可约表达式树)分析与原创 2014-10-27 10:33:35 · 2254 阅读 · 0 评论 -
C/C++头文件大全
转载自:C、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include //定义转载 2014-11-13 16:50:17 · 998 阅读 · 0 评论 -
C/C++可变参数函数的使用
在某些应用中,我们希望一个参数的参数个数是可变d原创 2014-11-18 10:12:32 · 924 阅读 · 0 评论 -
基类为何需要有一个虚析构函数
class Brass{private: string fullName; long acctNum; double balance;public: Brass(const string &s = "Nullbody",long an = -1,double bal = 0.0); void Deposit(double amt); virtual void Withdraw(d原创 2014-04-16 18:03:08 · 1142 阅读 · 0 评论