- 浏览: 17479 次
最新评论
文章列表
考虑下面问题:(默认对齐方式)
union u{ double a; int b;};unionu2{ char a[13]; int b;};union u3{ char a[13]; char b;};cout<<sizeof(u)<<endl; // 8cout<<sizeof(u2)<<endl; // 16cout<<sizeof(u3)<<endl; // 13
都知道union的大小取决于它所有的成员中,占用空间最大的一个成员的大小。所以对于u来说,大小就是最大的double类型成员a了,所 ...
- 2010-10-31 16:26
- 浏览 287
- 评论(0)
class A{ char c; double b; virtual void FuncA();};sizeof(A)=?sizeof(A)=24
VS和GCC编译器都是吧虚函数表指针放在对象的首部的。反汇编后发现你说的问题是这样:虚函数表指针(4)+浪费掉的(4)+ char要对齐(8)+double(8)= 24。
一篇讲对齐比较好的文章,转贴如下:大致标注一二:1.内存对齐:计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数k则被称为该数据类型的对齐模数(alignment modulus)2.不同编译器默认的最大对齐 ...
- 2010-10-26 22:45
- 浏览 297
- 评论(0)
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。new会自动调用构造函数,delete会自动调用析构函数,malloc和free不会。
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数 ...
- 2010-10-26 16:09
- 浏览 309
- 评论(0)
一、预备知识—程序的内存分配
堆(Heap)栈(Stack)1、栈区(stack)—— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—— 一般由程序员分配释放,若程 ...
- 2010-10-26 15:58
- 浏览 209
- 评论(0)
内部类要访问局部变量,局部变量必须定义成final类型
java中规定,内部类只能访问外部类中的成员变量,不能访问方法中定义的变量,如果要访问方法中的变量,就要把方法中的变量声明为final(常量)的,因为这样可以使变量全局化,就相当于是在外部定义的而不是在方法里定义的
- 2010-10-22 20:22
- 浏览 200
- 评论(0)
Android Debug Bridage
adb,Android重要工具之一,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以使用 shell 命令行参数连接到手机本身,并发送基本的 shell 命令。
进入命令行,使用
Java代码
adbshell
adb shell
进入到Andvoid中shell模式,注意,这时候模拟器或者手机要启用并且正确接通。
在这个 shell 环境中,可以:
显示网络配置,网络配置可显示多个网络连接。注意这多个网络连接:
lo 是本地或 loopback 连接。
tiwlan ...
- 2010-10-21 17:13
- 浏览 516
- 评论(0)
"联通"在记事本中消失
我们来做个测试
1. 用Windows记事本程序创建3个文件,分别输入“联想”,“联通”,“联”,然后分别保存,分别命名为“联想”,“联通”,“联”
2.再次打开
- 2010-10-21 16:21
- 浏览 359
- 评论(0)
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。
下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。
1.Bloom filter适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集基本原理及要点:对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有has ...
- 2010-10-21 16:09
- 浏览 211
- 评论(0)
题目概述:有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。显然:S(k, 1) = {A[i] | 1<= i <= k}S(k, k) = {A[1]+A[2]+…+A[k]}S(k, i) = S(k-1, i) U {A[k] + x | x属于S(k-1, i-1) }按照这个递推公式来计算,最后找出集合S(2N, N)中与SUM最接近的那个和,这便是答案。这个算法的时间复杂度是O ...
- 2010-10-21 16:03
- 浏览 321
- 评论(0)
百度、google海量数据搜索算法题解
海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数据库应用中,数据库的存储设计和结构优化(如索引优化)、数据库的查询优化及分页算法尤为重要!
随 ...
- 2010-10-21 15:45
- 浏览 351
- 评论(0)