C/C加加
leexurui
这个作者很懒,什么都没留下…
展开
-
C++ 结构体 内存分配
C/C++类/结构体内存遵循三个原则: c++中结构跟类几乎相同,除了默认成员的访问控制不同。以下结构体的内存对齐在类class中也是一样的。 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2)结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(internaladding);3)原创 2016-08-29 12:50:48 · 827 阅读 · 0 评论 -
二维数组的指针
int main(){int aa[4][5]={ {1,2,3,4,5}, {6,7,8,9,0}, {11,12,13,14,15},{16,17,18,19,20} };int (*p)[5]=aa; //或者 coutcout }会打印2和17.为啥记住一个万能公式就行了:*(p + i) =p[i]inta[2][3]={{1,2,3}原创 2016-08-29 12:50:41 · 451 阅读 · 0 评论 -
Linux(ubuntu) 下安装Boost 库
随便在哪个文件夹。首先确保安装的依赖关系解决库#sudo apt-get install build-essential然后#apt-cache search boost可以看看跟boost有关的有哪些,一般现在都是libboost这样的。#sudo apt-getinstall libboost 按tab键,查看所有可用版本,我们这里选择1.54版本的 。最后执行安装#sud原创 2016-08-29 12:50:34 · 441 阅读 · 0 评论 -
柔性数组
结构中最后一个元素允许是未知大小的数组,这个数组就是柔性数组。但结构中的柔性数组前面必须至少一个其他成员,柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔数组成员的结构用malloc函数进行内存的动态分配,且分配的内存应该大于结构的大小以适应柔性数组的预期大小。柔性数组到底如何使用例子:点击(此处)折叠或打开typ原创 2016-08-29 12:50:24 · 305 阅读 · 0 评论 -
C++创建对象的两种方法
跟java还是不太一样啊, java新建对象直接Student s1=new Student("张雪洁");s1.introduce(); 就行了原文地址:C++创建对象的两种方法作者:Valsun在C++里,有两种方法创建对象:方法一:ClassNameobject(param);这样就声明了一个ClassName类型的object对象,C++会为它分配足够的存放对象所有成员的存储空间。转载 2016-08-29 12:50:21 · 436 阅读 · 0 评论 -
C# 单例(Singleton)模式
主要摘自http://zhenyulu.cnblogs.com/articles/37246.html 一、 单例(Singleton)模式单例模式的特点:· 单例类只能有一个实例。· 单例类必须自己创建自己的唯一实例。· 单例类必须给所有其它对象提供这一实例。单例模式应用:· 每台计算机可以有若干原创 2016-08-29 12:50:04 · 393 阅读 · 0 评论 -
再读C++ primer,提取重点
C++初始化变量有好几种方法:int a=0;int a={0};int a{0}; 都可以。 如果要在多个文件中使用同一个变量,就必须将声明和定义分离。此时,变量的定义必须出现在且只能出现在一个文件中,而其他用到该变量的文件必须对其进行声明,却绝对不能重复定义。如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显式地初始化变量(任何包含了显式初原创 2016-08-29 12:49:24 · 1038 阅读 · 0 评论 -
argc和argv的定义和用法
转自http://hi.baidu.com/dssadjh/item/00cf522f19de78c6a4275a70argc,argv 用命令行编译程序时有用。 主函数main中变量(int argc,char *argv[ ])的含义 我们平时定义主函数时通常的写法为:int main( )或void main( ) 其实,int main( ) 只是 U原创 2016-08-29 12:49:22 · 8956 阅读 · 1 评论 -
typedef 和enum的用法
http://blog.sina.com.cn/s/blog_5e8facd20100qfpn.htmlhttp://www.cnblogs.com/kerwinshaw/archive/2009/02/02/1382428.htmltypedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。 在编程原创 2016-08-29 12:49:17 · 2464 阅读 · 0 评论 -
C++ 内存相关
常见的内存错误及其对策发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。 常见的内存错误及其对策如下: * 内存分配未成功,却使用了它。 编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用原创 2015-10-05 22:31:09 · 1428 阅读 · 0 评论 -
C++ 的lambda 与template结合使用
int main(){ int result = [](int x) { return x * x; }(10); cout << result << endl;}打印100如果要反复用这个简短的表达式,可以存到一个变量func中int main(){ auto func = [](int x) { return x * x; }; std::cout << func(10原创 2015-06-29 18:32:28 · 5923 阅读 · 0 评论 -
C语言中static的作用
static的作用 (转) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; //原创 2014-09-28 19:05:04 · 501 阅读 · 0 评论 -
C++ 排列组合
从n个数中取m个的随机组合。看起来很简单的东西,实现起来真烦。。。。。。搞了一个多小时才想明白。#includeusing namespace std;void combine(int a[], int n,int m , int b[], int M){ int i, j; for (i = n; i >= m; i--) { b[m - 1] = i - 1;原创 2016-08-29 12:50:56 · 714 阅读 · 0 评论