
编程笔记
文章平均质量分 86
每天进步一..
AL, IGCSE, IFD Computer Science teacher
展开
-
程序是调试出来的吗?
转载请标明出处:blog.youkuaiyun.com/zhangxingping 前些天听到有人无意中说到写程序就是要慢慢调试,看其表情,听其语气很有程序就是要慢慢调试才能写好的意思。当时心里楞了一下,不过由于事情比较多,也没有过多留意。事后有空想起这件事情让我感觉到有必要思考一下这么几个问题:程序是调试出来的吗?程序应该是调试出来的吗?好的程序应该是调试出来的吗?原创 2011-10-23 23:46:39 · 6742 阅读 · 2 评论 -
Java中的同步——示例程序
转载请标明出处:http://blog.youkuaiyun.com/zhangxingping前面说到了Java中的同步问题。下面通过一个小小的实例程序来演示Java中的同步方法。其中对前文提到的Counter类做了稍微的修改。public class Counter { private int c = 0; public void increment() { System.out.p原创 2013-02-24 23:00:04 · 3014 阅读 · 0 评论 -
编程笔记(Objective-c:委托与通知)
转载请标明出处:http://blog.youkuaiyun.com/zhangxingping委托(Delegation)委托是一种设计模式。这种模式虽然简单但是功能强大。委托就是程序中的一个对象代替别的对象来完成某些任务,或者是和别的对象一起协调来完成某些工作。其中,委托者持有对被委托者的引用,并在适当的时间发送消息给被委托者。通过这个消息委托者通知被委托者自己将要处理或者是已经处理了某种事件翻译 2012-03-12 15:59:51 · 2412 阅读 · 0 评论 -
Windows上多线程同步相关的MFC类(2)
转载请标明出处:http://blog.youkuaiyun.com/zhangxingpingWindows上多线程同步相关的MFC类(2)CMutex在http://blog.youkuaiyun.com/zhangxingping/article/details/8512113中提到了“如果多个程序可以访问资源,则可以使用CMutex;否则,使用CCriticalSection。”前面也看到了关于CCr原创 2013-01-29 14:58:53 · 1433 阅读 · 0 评论 -
Windows环境下使用MFC进行多线程编程(C++)
转载请标明出处:http://blog.youkuaiyun.com/zhangxingpingWindows环境下使用MFC进行多线程编程(C++)进程和线程 (Process andThread)进程指的是计算机程序的一次执行,或者说是程序执行的一个实例。进程中包含有程序代码及其当前的活动。线程指的是进程中的一个执行路径。一个进程有可能是由多个线程组成,这些线程并发地执行程序指令。 在原创 2013-01-11 10:44:33 · 7416 阅读 · 0 评论 -
Objective-C 编程语言(3) 定义类---把对象的分配和初始化进行合并
转载请标明出处:http://blog.youkuaiyun.com/zhangxingping把对象的分配和初始化进行合并 在Cocoa中,一些类中定义了把对象分配和初始化合并在一起的方法。这些方法通常被称为“便捷的的构造方法”。他们通常的形式为: +类名...。例如,NSString类就有这样的方法: +(id) stringWithCString:(const char *)翻译 2012-01-10 10:56:10 · 1592 阅读 · 0 评论 -
编程笔记(Objective-c:MVC模式)
转载请标明出处:http://blog.youkuaiyun.com/zhangxingpingMVC模式模型-视图-控制器这种设计模式为程序中的对象分配了三种角色,即模型,视图和控制器。这种模式不仅定义了对象的角色,同时也定义了这些对象的交互方式。这种角色的对象通过抽象的边界相互独立,同时也通过这种边界相互交互。程序中的MVC类型的对象集合有时候也会被称为是某层的(layer),比如说模翻译 2012-03-20 10:46:05 · 4976 阅读 · 0 评论 -
编程笔记(Objective-c:委托与通知示例程序)
转载请标明出处:http://blog.youkuaiyun.com/zhangxingping一个简单的委托与通知的示例程序。其中主程序如下:#import #import "MyDelegate.h"#import "MyNotificationObserver.h"#import "MyClass.h"NSString * notificationName = @"A notific原创 2012-03-19 22:37:53 · 3497 阅读 · 0 评论 -
为什么程序员的薪资和工作效率不成正比?
转载请标明出处:http://blog.youkuaiyun.com/zhangxingping原文:http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/译文:http://sd.youkuaiyun.com/a/20111128/308178.htm转载 2011-11-29 09:21:16 · 1672 阅读 · 7 评论 -
当需要为一个既存的类中增加一个数据成员的时候,你会想到那些问题?
转载请标明出处:http://blog.youkuaiyun.com/zhangxingping 前几日,在调试程序的时候发现有对象的枚举类型成员变量的值为0xcccccccc,这个数值显然是不正确的,因为对应枚举的定义如下: typedef enum enDirection { enDirectionUnknown, enDirectionUp原创 2012-01-16 11:27:17 · 1789 阅读 · 0 评论 -
编程笔记(1)
转载请标明出处:blog.youkuaiyun.com/zhangxingping 做编程工作也有些年头了,有过许多的经验和教训,也有很多的体会和心得。俗话说“好记性不如烂笔头”所以打算将平日工作中的一些体会记录下来,与大家一起共勉。 关于全局变量 之前有看过在.c文件中出现多达42个全局变量的代码!这些全局变量错综出现,而且命名也很不规范,加上注释少的可怜,一般人很难轻易看出这些原创 2011-08-08 22:48:57 · 1341 阅读 · 5 评论 -
编程笔记(2)
转载请标明出处:blog.youkuaiyun.com/zhangxingping关于类的命名先玩个小游戏吧,猜猜看:如果某C++程序段中出现了这个的东东:GetXXXResult, 你会认为它是: A:函数名称 B:类的名称 C:变量名称 D:命名空间名称 上述选项中,您会选择哪个呢?我想大部分开发人员可能会认为这无疑是函数的名称。上面列举的是原创 2011-08-20 22:00:43 · 651 阅读 · 3 评论 -
编程笔记(3)
转载请标明出处:blog.youkuaiyun.com/zhangxingping关于虚的析构函数 析构函数是一种比较特殊的成员函数。它的作用与构造函数相反,是当对象脱离其作用域或者被销毁(delete)的时候隐式地被调用的一种函数。通常在析构函数中需要完成的是诸如释放对象申请的内存空间,关闭对象使用的文件等善后工作。析构函数的名称为类名称前面加上~,并且析构函数是不需要参数也没有返回值的。在继原创 2011-08-27 17:04:01 · 591 阅读 · 0 评论 -
编程笔记(4)
转载请标明出处:blog.youkuaiyun.com/zhangxingping关于编译警告 编写用于计算1+2+3+…+10的结果的程序。用Visual Studio 2010创建空的控制台程序后,增加cpp文件如下:#include using namespace std;int main(){ int sum = 0; //int sum;原创 2011-09-06 23:35:03 · 1713 阅读 · 0 评论 -
编程笔记(objective-c :关于属性)
转载请标明出处:blog.youkuaiyun.com/zhangxingping关于属性 在C++中,通常需要编写Getter和Setter方法来获取或者是设置实例变量的值。这两种方法需要在程序中显示的完成。这种方式在Objective-C中也是适用的。但是Objective-C提供了一种更为便捷的方式来完成这种功能。它就是属性。和C++中的显示的Getter和Setter方法相比,属原创 2011-10-09 19:47:52 · 5182 阅读 · 0 评论 -
编程笔记(objective-c :声明属性)
转载请标明出处:blog.youkuaiyun.com/zhangxingping属性的声明 属性的声明使用关键字@property。属性的声明可以是在@interface类中的方法声明块的任何地方。@property同样也可以在protocal(协议)和category(种类)中。其通用形式如下:@property ( attributes) type name 由于英文pro原创 2011-10-09 19:51:19 · 3855 阅读 · 0 评论 -
编程笔记(Objective-c:属性的实现)
转载请标明出处:blog.youkuaiyun.com/zhangxingping 前面的示例程序中已经看到了使用@synthesize关键字来告诉编译器自动生成属性的getter和setter方法。也就是说如果我们没有显示地在@implementation代码块中实现属性的getter和setter方法,编译器会自动根据property的attributes来生成相应的getter和sette原创 2011-10-13 22:01:03 · 2708 阅读 · 0 评论 -
Java中的同步
转载请标明出处:http://blog.youkuaiyun.com/zhangxingpingJava中的同步线程间的通讯首要的方式就是对字段及其字段所引用的对象的共享访问。这种通信方式是及其高效的,但是也是导致了可能的错误:线程间相互干涉和内存一致性的问题。避免出现这两种错误的方法就是同步。线程间相互干扰描述了当多个线程访问共享数据时可能出现的错误。内存一致性错误描述的了共翻译 2013-02-23 12:09:28 · 23684 阅读 · 3 评论