2012年3月17日
摘要: Tutorial1. Python可以带命令行启动,具体查看文档2. 注释使用#, 指定文件编码使用:# coding[=:]\s*([-\w.]+) 3. 可以设置python启动脚本,详见tutorial 2.2.4,2.2.54. 在交互模式下,上次计算的结果被保存在变量[_]中5. 字符串(字符串是不可变的) 5.1 'a' * d # 表示将'a'重复五次,即得到'aaaaa' 5.2 使用Slice indices得到子串:str[0:2],str[:2], str[2:] str[-1] # The last character s 阅读全文
posted @ 2012-03-17 23:18 sanlo 阅读(457) 评论(0) 推荐(0) 编辑
  2012年3月9日
摘要: 输入EOF:Dos(Ctrl + Z) , linux(Ctrl + D)一、注释1. echo [message] // 类似于print,打印消息关闭回显使用命令:echo off ,打开使用 echo on在写批处理时,若不想回显,使用:@echo off // 前边加@,则表示此条命令也不会进行显示2. rem [comment] // 类似于注释,不打印rem后的内容3. ::[comment] 二、设置当前目录pushd [path] // 将path设为工作目录popd // 恢复使用pushd之前的工作目录 批处理文件的目录:1. 批处理文件所在的文件... 阅读全文
posted @ 2012-03-09 18:14 sanlo 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 链接某个lib : #pragma comment(lib, "libname.lib") // libname.lib是lib文件的名字抑制某个警告: #pragma warning(disable : warning_number) // warning_number是警告编号判断VC版本的宏: MS VC++ 11.0(vc2011) _MSC_VER = 1700 MS VC++ 10.0(vc2010) _MSC_VER = 1600 MS VC++ 9.0(vc2008) _MSC_VER = 1500 MS VC++ 8.0(vc2005) _MSC_VER. 阅读全文
posted @ 2012-03-09 11:06 sanlo 阅读(669) 评论(0) 推荐(0) 编辑
  2012年3月3日
摘要: 例如在D盘根目录下有一个.class文件:Hello.class。打开控制台,进入到D盘目录下(一定要进入到类文件所在目录),输入命令:javap -c Hello注意,不要带扩展名(.class)其中,-c选项的意义是disassemble the code,即反汇编字节码。javap 还有好多选项,不过-c对于本人来说已经够用了,详细的选项可以使用-help选项查看。 阅读全文
posted @ 2012-03-03 19:53 sanlo 阅读(2287) 评论(0) 推荐(0) 编辑
  2012年2月20日
摘要: JDK文档上这样描述ByteArrayOutputStream:此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。它继承于OutputStream。DataOutputStream允许将Java中基本的数据类型写入到输出流中,它是一个过滤输出流(FilterOutputStream),构造方法需要一个OutputStream。通过下面代码,我们可以看到将上述二者结合可以很容易构造字节数组。1ByteArrayOutputStreambos=newByteArrayOutpu. 阅读全文
posted @ 2012-02-20 22:01 sanlo 阅读(4476) 评论(0) 推荐(0) 编辑
  2012年2月19日
摘要: 打开文件的步骤如下:弹出打开文件对话框 -> 获取选择的文件,并将文件显示在视图中。我们程序中经常需要定制的操作如下:1. 定制弹出的文件对话框,例如需要修改打开文件的类型或扩展名2. 定制文件显示的行为3. 定制文件打开后的行为1. CWinApp::OnFileOpen它是ID_FILE_OPEN消息的处理函数,在内部调用CDocManager::OnFileOpen。下面是CWinApp::OnFileOpen的源码:1voidCWinApp::OnFileOpen()2{3ENSURE(m_pDocManager!=NULL);4m_pDocManager->OnFileO 阅读全文
posted @ 2012-02-19 12:43 sanlo 阅读(10881) 评论(0) 推荐(1) 编辑
  2011年12月27日
摘要: 翻译的不好,莫怪。原文地址:http://crashrpt.sourceforge.net/docs/html/exception_handling.html#getting_exception_contextAbout Exceptions and Exception HandlingAbout Exception当程序遇到一个异常或一个严重的错误时,通常意味着它不能继续正常运行并且需要停止执行。例如,当遇到下列情况时,程序会出现异常:程序访问一个不可用的内存地址(例如,NULL指针);l无限递归导致的栈溢出;l向一个较小的缓冲区写入较大块的数据;l类的纯虚函数被调用;l申请内存失败(内存空 阅读全文
posted @ 2011-12-27 10:33 sanlo 阅读(15775) 评论(1) 推荐(2) 编辑
  2011年12月21日
摘要: 一、动态对象创建 在C++中,创建一个对象会发生两件事: 1. 为对象分配内存; 2. 调用构造函数来初始化那个内存。 new和malloc的区别 这也是一个较常见的面试题,malloc只是为对象申请了一定大小的内存;而new做了两件事,一是为对象分配内存,二是调用对象的构造函数。 delete和free的区别 free只是释放了对象所占用的内存;而delete做了两件事,一是调用对象的析构函数,二是释放对象的内存。 delete只用于删除由new创建的对象。如果用malloc创建一个对象,然后用delete删除它,这种行为是未定义的。注:大多数默认的new和delet... 阅读全文
posted @ 2011-12-21 18:45 sanlo 阅读(826) 评论(0) 推荐(0) 编辑
  2011年12月20日
摘要: 运算符重载(operator overloading)是一种语法糖(syntactic sugar),是函数调用的另一种方式,合理地使用它,能使我们的代码更加地易写、易读。 重载运算符时的注意事项 1. 不能重载C/C++中没有的运算符,如使用(**)来代表幂运算符; 2. 不能改变运算符的优先级; 3. 不能改变运算符的操作数个数 4. 不可重载的运算符 1) 成员选择运算符operator.。点在类中对任何成员都有一定的意义。 如果允许它重载,就不能用普通的方法访问成员, 只能用指针和operator->进行访问。 2) 成员指针间接引用operator.*。原因... 阅读全文
posted @ 2011-12-20 11:35 sanlo 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 一、引用(reference) 引用的规则 1. 当引用被创建时它必须被初始化。 2. 一旦一个引用被初始化为一个对象,它就不能改变为另一个对象的引用。 3. 不能有NULL引用。必须确保引用和一块合法的存储单元关联。 怎样选择引用和指针 在下面两种情况下应使用指针: 1. 存在不指向任何对象的可能,这种情况下你可能将指针设置为NULL; 2. 你需要在不同的时刻指向不同的对象。 反之,如果总是指向一个对象,并且一旦指向一个对象后就不会改变指向,这种情况下应该使用引用。 二、拷贝构造函数 什么时候需要拷贝构造函数 仅当需要按值传递的方式传递一个类对象时,我们才需要拷... 阅读全文
posted @ 2011-12-20 11:29 sanlo 阅读(383) 评论(0) 推荐(0) 编辑