- 博客(15)
- 收藏
- 关注
原创 GMemoryStream和std::iostream转换
说明:123456typedef QBuffer GBuffer;class GMemoryStream : public GBuffer{ ...};class std::stringstream : public std::iostrea
2015-04-29 10:10:10 543
原创 svn撤消修改
问题svn误提交本不该提交的文件。 一个例子,修改:GGJBar3dViewOprForm.cppGAEAPlugin_zh_CN.qm (误提交)GMModel_zh_CN.qm (误提交)目标是.cpp,却提交了两个*.qm:解决:下载svn命令行客户端。以GAEAPlugin_zh_CN.qm 为例:查看该文件日志:
2015-04-29 09:58:15 1078
原创 C++变量的初始化
一:初始化的必要性初始化就是把变量赋为默认值,在C语言等高级语言中,为每一个变量赋初值被视为良好的编程习惯,有助于减少出现Bugs的可能性。二:初始的方法http://www.douban.com/note/66957147/http://blog.csdn.net/jhj735412/article/details/7520528未完待续
2015-04-28 10:25:53 398
原创 如何退出函数时再做一些固定的事情(比如释放内存)--scopeguard
socope.h文件:#ifndef scopeguard_h__#define scopeguard_h__namespace smn{ template class ScopeGuard { Fun f_; bool active_; public: ScopeGuard(Fun f): f_(st
2015-04-27 17:22:34 523
原创 QT中流Qbuffer的应用总结
一:概述1) QBuffer 继承类QIODevice,如下:class Q_CORE_EXPORT QBuffer : public QIODevice2) QIODevice中有本文应用的函数:(1)qint64 write(const char *data, qint64 len);(2) qint64 read(char *data, qint64 maxl
2015-04-27 15:08:57 7824
原创 怎样使自己的头文件中的内容尽可能的少
C++中头文件反复包含,为了减少编译时间,尽可能的减少头文件中的内容是我们一贯方法!(1)防止头文件反复编译#ifndef GGJBARLINE3DENTITY_H#define GGJBARLINE3DENTITY_H....#endif //GGJBARLINE3DENTITY_H这种定义宏的形式,防止头文件编译是经常用的方法注意:定义的宏一定要唯
2015-04-27 14:44:11 429
原创 怎样建立在整个类中都恒定的常量
一:讨论有时我们希望某些常量只在类中有效。 (1) 由于#define 定义的宏常量是全局的,不能达到目的 (2)于是想当然地觉得应该用 const 修饰数据成员来实现。const 数据成员的确是存在的,但其含义却不是我们所期望的。const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其 const 数据成员的值可以不同。
2015-04-27 14:03:27 658
原创 C++最好的释放对象内存
(1)迭代器优于下标的方式(2) 释放时先判空(记得变量要初始化)以下为目前认为比较好的方式: for (std::vector::iterator itr = m_vecEntityList.begin(); m_vecEntityList.end() != itr; ++itr) { if (nullptr != (*itr
2015-04-27 12:14:25 1306
原创 std::vector中erase的用法误区
(1)std::vector中erase函数是删除一个对象,传的参数是要删除值的迭代器;如果删除的是vector中的最后一个元素,并且迭代器还要做++ 操作,就容易出问题。如下:void test(){ std::vector vecInt; vecInt.push_back(1); vecInt.push_back(1); vecI
2015-04-27 10:11:32 2224 1
原创 QString 类中各函数的作用总结和自测代码
QString 类中各函数的作用。我们将从QString开始。字符串被每个GUI程序所使用,不仅是用户界面而且还有数据结构。C++原生提供两种字符串:传统的C风格以'\0'结尾的字符数组和std::string类。与这些不同,QString使用16-bitUnicode值。Unicode包含ASCII 和Latin-1这个子集和它们的普通数值。而QString是16-bit,所以它可以
2015-04-09 12:54:53 1385
转载 简单工厂模式(C++描述)
一.简单工厂模式又称静态工厂方法模式(Static Factory Method),它不是Gof 所讲的23种设计模式之一,但是它却是我们在编码过程中经常使用的方法之一。 1.静态工厂方法统一管理对象的创建。静态工厂方法通过传入的参数判断决定创建哪一个产品的实例,封装了对象的创建,客户端只管消费,实现了对责任(模块)的分割。2.静态工厂方法推迟了产品的实例化。通过X
2015-04-08 19:44:54 443
转载 pragma warning
1 常用去警告: #pragma warning(disable:4035) //no return value #pragma warning(disable:4068) // unknown pragma #pragma warning(disable:4201) //nonstandard extension use
2015-04-08 18:40:06 477
转载 C++中各种类型的成员变量的初始化方法(mark-好)
C++类中各种不同类型成员根据是否static 、是否const类型的初始化方法不尽相同,写代码时经常搞乱,网上搜了一下资料,全部总结一下。一、例子[cpp] view plaincopyprint?-----------------Test.h---------------------------- #pragma once class Tes
2015-04-06 15:43:34 453
转载 解释型语言跟编译型语言的区别
一:各种语言二:总结(1)编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。(2)解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。三:疑问 解释型语言就是编译成中间代码程序,在执行时靠翻译程序一起执行,可以跨平台,中间代码一样,翻译程序只要各平台一个,就可以?编译型就是编译的时候直接编译成机器可以执行的程序,但不能跨平台或较差?
2015-04-02 18:36:39 4195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人