编程语言
SuperWe
这个作者很懒,什么都没留下…
展开
-
Python打开文件时的几种模式比较
r 以只读模式打开文件 w 以只写模式打开文件,且先把文件内容清空 a 以添加模式打开文件,写文件的时候总是写到文件末尾,用seek也无用。打开的文件也是不能读的 r+ 以读写方式打开文件,文件可读可写,可写到文件的任何位置 w+ 以读写方式打开文件,文件可读可写,可写到文件的任何位置,它会先把文件内容清空 a+ 以读写方式打开文件,文件可读可写,它只能写到文件末尾原创 2015-09-07 22:42:31 · 999 阅读 · 0 评论 -
main.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __thiscall CFindFileForm::CFindFileForm(class QWidge
qt5中运行时出现这个问题,起因是自己新建了一个类在.h文件中,在main.cpp中include了,链接时候出了问题,解决办法,删掉debug和release文件夹,删掉makefile,重新编译。原创 2015-12-03 23:06:09 · 5768 阅读 · 5 评论 -
C++ operator关键字(重载操作符)
【转】http://blog.sina.com.cn/s/blog_4b3c1f950100kker.htmloperator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都转载 2016-05-24 21:33:11 · 3339 阅读 · 0 评论 -
结构体中内存对齐问题
首先,在内存分配上,如果是单独的一个数据类型,对齐方式如下: 常用类型的对齐方式类型 对齐方式(变量存放的起始地址相对于结构的起始地址的偏移量) char 偏移量必须为sizeof(char)即1的倍数 int 偏移量必须为sizeof(int)即4的倍数 double 偏移量必须为sizeof(double)即8的倍数 short 偏移量必须为sizeof(原创 2016-05-24 22:43:19 · 939 阅读 · 0 评论 -
如何让类对象只在栈(堆)上分配空间?
一般情况下,编写一个类,是可以在栈或者堆分配空间。但有些时候,你想编写一个只能在栈或者只能在堆上面分配空间的类。这能不能实现呢?仔细想想,其实也是可以滴。在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。1、静态建立类对象:是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后(编译器)在这片内存转载 2016-05-25 11:23:29 · 3531 阅读 · 0 评论 -
析构函数与delete的思考
1、析构函数一般用来对类类型的对象进行销毁,值得注意的是,析构函数只会自动释放类中栈区的空间,不会释放由new分配的堆空间 。如果在类中有用new分配堆空间,在调用默认的析构函数来释放类对象时会产生内存泄漏,因为A* a=new A();中a是在栈空间的,被析构了,但是new出来的对象没有被释放掉,这块内存失去了控制产生内存泄漏。为了解决这一问题,一般需要自定义析构函数,然后显式使用delete运算原创 2016-05-25 22:41:34 · 1255 阅读 · 0 评论