C/C+
「已注销」
这个作者很懒,什么都没留下…
展开
-
堆和栈的区别 (转贴)
非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与转载 2013-03-22 11:13:27 · 862 阅读 · 0 评论 -
内存对齐及不同存取粒度性能对比
为了速度和正确性,请对齐你的数据. 概述:对于所有直接操作内存的程序员来说,数据对齐都是很重要的问题.数据对齐对你的程序的表现甚至能否正常运行都会产生影响.就像本文章阐述的一样,理解了对齐的本质还能够解释一些处理器的"奇怪的"行为.内存存取粒度程序员通常倾向于认为内存就像一个字节数组.在C及其衍生语言中,char *用来指代"一块内存",甚至在JAVA中也有byte...转载 2019-09-04 11:52:02 · 676 阅读 · 4 评论 -
vs错误【C1083 C1854 C4727】的若干解决办法
原文:https://blog.csdn.net/you_lan_hai/article/details/6966038解决办法:将工程里的预编译头选项改为右键工程里的stdafx.cpp属性改为创建预编译头。然后清理,必须哦然后编译...转载 2019-01-23 18:16:04 · 772 阅读 · 0 评论 -
int和byte[]数组转换
虽然天天写程序,牵涉到最基本的整型转字节数组竟然,完全没有头绪了。所幸有万能的网络帮忙回忆。要进行转换首先要回忆起这几个概念。1.不管数字以什么进制表现在我的眼前,在计算机里都是以二进制传输和存储的。2.byte就是8个bit,byte[]就是很多个连续的byte那么怎么把一个int放到byte里呢?很明显把int放到byte里相当于把一根参天大树的树干平均截断了,一个一个放在不同的车厢里。那么现...原创 2018-07-10 17:36:32 · 1498 阅读 · 2 评论 -
Effective C++阅读笔记条款01C++语言联邦,02const,enum,inline替换#define
条款1,C++不仅仅是一C语言加入了面向对象特性的高级语言。发展到现在C++可被称为多重泛型编程语言,一个同时支持过称形式,面向对象形式,函数形式,泛型形式,元编程形式de语言。如果要正确理解C++,最好将其视为一个语言联邦。该联邦由4个子语言模块组成。C,Object-Oriented C++,Template C++,STL.具体内容根据字面意思大体了解即可。只有一点值得注意,迭代原创 2017-10-29 10:07:39 · 621 阅读 · 0 评论 -
初学者必看:VC++、Win32 SDK、MFC的区别
http://qiusuoge.com/9134.html 这是一个初进行开发人员都可能遇到过的概念不清的问题,自己当年也同样有过误解,做技术我感觉一定要专,但是,不代表毫不关心相关的知识,至少概念层次上要知道,所以,这里还是再把这些内容纪录下来,好记性不如烂笔头: C/C++都是一种编程语言,程序员用它来创作(我喜欢用创作这个词,让写代码有一些艺术气息...)各种各样的转载 2017-05-20 22:34:41 · 608 阅读 · 0 评论 -
C++拷贝构造函数和赋值操作符
1.初始化 不会调用赋值操作符2.在C++中,三种对象需要调用拷贝构造函数(有时也称“复制构造函数”):1) 一个对象作为函数参数,以值传递的方式传入函数体;2) 一个对象作为函数返回值,以值传递的方式从函数返回;3) 一个对象用于给另外一个对象进行初始化(常称为赋值初始化);3.还有一点要注意,编译器只会进行一次隐式转换(C时刻库的内置类型如intshort char等)除外原创 2016-07-07 18:38:55 · 447 阅读 · 0 评论 -
2016-5-30 代码Review问题总结
重要程度划分 S A B C 1.金钱使用无符号数,导致有可能在减钱的时候而加了钱,无符号没有负数(S)(虽然AddBindTickets函数传的金币数是int类型,导致DWORD(unsigned int)明哥的原话:我怀疑有没有测试过,刷金币和物品是最严重的错误,可以直接被公司辞退,把一个负数赋值给DWORD类型的变量,数值可能变得好大)WORD明哥的原话:我怀疑有没有测试过,原创 2016-05-31 10:59:50 · 926 阅读 · 0 评论 -
error C2678: 二进制“<”: 没有找到接受“const MyEvent”类型的左操作数的运算符(或没有可接受的转换)
今天写观察者设计模式,需要用到运算符的重载,后面又用不到了...报了这个错误,百度一下找到答案。MyEvent报错成员函数:bool operator {return mEventId }原来是少const限定符把函数设置为constbool operator {return mEventId }原创 2015-12-21 15:57:48 · 8826 阅读 · 0 评论 -
宏-在复杂调用的情况下不可预期的行为
#define min(a,b) ((a) 在复杂调用的情况下,它的行为是不可预期的,这是因为它的两个参数值都被计算两次. 一次是在a 和b 的测试中另一次是在宏的返回值被计算期间.#include #define min(a,b) ((a) < (b) ? (a) : (b))const int size = 10;int ia[size];int main() {原创 2015-02-11 09:53:04 · 795 阅读 · 0 评论 -
使用函数模板需要注意的几个地方
http://blog.chinaunix.net/uid-20596472-id-1918301.html① 如果在全局域中声明了与模板参数同名的对象函数或类型则该全局名将被隐藏在下面的例子中tmp 的类型不是double 是模板参数Typetypedef double Type;template Type min( Type a, Type b ){// tmp转载 2015-02-11 10:33:01 · 1417 阅读 · 0 评论 -
Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
有人对Cocos2d-x Lua调用C++,C++调用Lua仍然一知半解,不能一窥全貌。为什么要用tolua++,为什么要用bindings-generator。详细全面透彻有力的一篇文章多谢洪亮大神。http://segmentfault.com/blog/hongliang/1190000000631630转载 2015-01-15 19:11:18 · 2038 阅读 · 0 评论 -
总结一下__declspec(dllimport)的作用
作者:朱金灿来源:http://blog.csdn.net/clever101/ 是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管转载 2014-11-17 16:31:58 · 746 阅读 · 0 评论 -
C++设计模式从0进击-1-简单(静态)工厂模式
Factory Method(工厂模式):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。工厂模式(Factory)请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行原创 2014-08-25 17:08:42 · 1923 阅读 · 0 评论 -
Lua游戏开发 语法
二.lua字符处理 1.类型转换 字符转换为数字 tonumber() myString = "1234"; myNumber = tonumber(myString); print(myNumber+2); 数字转换为字符 tostring() myNumber = 1234原创 2013-10-18 18:00:03 · 3093 阅读 · 0 评论 -
内存对齐
1.引子在结构中,编译器为结构的每个成员按其自身的自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况(假设对齐方式大于2字节,即#pragma pack(n), n = 2,4,8...下文将讨论#pragmapack()):struct test{ ...转载 2019-09-04 11:55:08 · 1144 阅读 · 0 评论