2013年8月9日

关于const

摘要: 1. const的用法(1)在C程序中,const的用法主要有定义常量、修饰函数参数和返回值等3个用处。在C++程序中,它还可以修饰函数的定义体,定义类中某个成员函数为恒态函数,即不改变类中的数据成员。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序健壮性。2. const和#define的区别(1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换中可能产生意料不到的错误(边际效应)。(2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。在C++程序中只能使 阅读全文

posted @ 2013-08-09 10:46 大浪 淘沙 阅读(124) 评论(0) 推荐(0) 编辑

Python线程指南(转自AstralWind)

摘要: 本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。尊重作者的劳动,转载请注明作者及原文地址 >._< 嫌作者水平低找别人的教程也要看懂)2. threadPython通过两个标准库thread和threading提供对线程的支持。thread提供了低级别的、原始的线程以及一个简单的锁。?12345678910111213141516171819202122232425262728293031323334353 阅读全文

posted @ 2013-08-09 10:12 大浪 淘沙 阅读(209) 评论(0) 推荐(0) 编辑

PyQt中的图形绘制

摘要: '''class Node: 画目标节点功能描述:绘制一个圆表示目标节点'''class Node(QGraphicsItem): Rect = QRectF(-10, -10, 20, 20) def __init__(self, color, position): super(Node, self).__init__() self.color = color self.setPos(position) def boundingRect(self): return Node.Rect def shape(self): path = QPaint 阅读全文

posted @ 2013-08-09 10:00 大浪 淘沙 阅读(2337) 评论(0) 推荐(0) 编辑

sizeof和strlen之间的区别

摘要: 由以下几个例子说明sizeof和strlen之间的区别。(1)char* ss="0123456789";sizeof(ss) 结果大小为4,ss是指向字符串常量的字符指针。sizeof(*ss)结果为1,*ss是第一个字符。(2)char ss[]="0123456789";sizeof(ss)结果为11,ss是数组,计算到"\0"位置,因此是(10+1)。sizeof(*ss)结果为1,*ss是第一个字符。(3)char ss[100]="0123456789";sizeof(ss)结果为100,ss表示在内存 阅读全文

posted @ 2013-08-09 09:43 大浪 淘沙 阅读(294) 评论(0) 推荐(0) 编辑

2013年8月8日

内存中的数据对齐

摘要: 以下是程序员面试宝典中的一些内容: 计算结构变量的大小就必须讨论数据对齐问题。为了使CPU存取速度最快(这同CPU去操作数有关,详细的介绍可以参考一些计算机原理方面的书),C++在处理数据时经常把结构变量中的成员的大小按照4或8的倍数计算,这样做会浪费一些内存,但在理论上CPU速度快了。 数据对齐,是指数据所在的内存地址必须是该数据长度的整数倍。 CPU的优化规则大致原则是这样的,对于n字节的元素(n=2,4,8,....),它的首地址能被n整除,才能获得最好的性能。设计编译器的时候可以遵循这个原则:对于每一个变量,可以从当前位置向后找到第一个满足这个条件的地址作为首地址。例:以下代码为32位 阅读全文

posted @ 2013-08-08 17:17 大浪 淘沙 阅读(287) 评论(0) 推荐(0) 编辑

(转)堆和栈的区别(转过无数次的文章)

摘要: 以下内容为程序员面试宝典第二版P175~~的内容一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 自由存储单元,一般由程序员分配释放,若程序员不释放, 程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初 始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变 量在相邻的另... 阅读全文

posted @ 2013-08-08 10:43 大浪 淘沙 阅读(254) 评论(0) 推荐(0) 编辑

导航