- 博客(28)
- 收藏
- 关注
原创 WINDOWS下实现GTK+/GTKMM的编程
给一些想在WINDOWS下学习GTK+/GTKMM编程的朋友 一、下载软件包1、下载dev C++开发软件(我的版本是4.9.9.2)2、下载GTK+3、下载GTKMM(对于C++的朋友)即是下面的三个文件 二、安装(全部默认安装)1、先装dev c++2、再装GTK+3、再装GTKMM 三、环境变量设置(右键我的电脑,属性,高级)
2012-03-16 20:15:20 4023
原创 两台主机通过SSH通信
WINDOWS端一、安装两个工具:1、FreeSSHd2、putty二、FreeSSHd简单配置1、创建user 2、SSH端口设置默认是22三、打开Putty输入目的地IP地址hostname和端口最后按OPEN LINUX端一、文件更新升级1、sudo apt-get update2、sudo apt-g
2012-03-13 19:11:11 3084
原创 解决虚拟机ubuntu系统安装VM TOOLS问题(其它LINUX系统也差不多)
第一步:进入ubuntu系统,点虚拟机的VM菜单下的install VM TOOLS第二步:复制弹出来的窗口的VM TOOL 压缩包到/tmp(具体命令这里不详写)第三步:进入复制到的目录,解压VM TOOL压缩包(tar xzvf "压缩包名字"),等待。。。第四步:运行vmware-config.pl(sudo /usr/bin/vmware-config-tools.pl),一直
2012-03-08 15:53:23 2107
转载 为什么计算机和一些电子产品的时间选择在1970.1.1
现在计算机和一些电子设备时间的计算和显示是以距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量为标准的,如1970-1-10 20:47 偏移量为2724441632毫秒,出现类似字样说明时间被初始化了。小知识:格林威治标准时间GMT许多人都知道两地时间表简称为GMT或UTC,而世界时区表则通称为World Time,那么
2011-10-27 11:01:31 30357 2
转载 qt里产生随机数
先说一下rand()与srand()这两个函数的用法所谓的“伪随机数”指的并不是假的随机数,这里的“伪”是有规律的意思。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机 数。计算机生成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律,一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正点到了事物的特性 —— 规律性;但是每种树的叶子都有近
2011-10-27 10:54:14 11977
原创 学习笔记:关注C++设计模式之Singleton模式
#ifndef SINGLETON_H#define SINGLETON_Hclass Singleton{public: static Singleton* Instance();protected: Singleton();private:
2011-10-18 20:05:56 945
原创 学习笔记:关注C++设计模式之AbstractFactory模式
#ifndef ABSTRACTFACTORY_H#define ABSTRACTFACTORY_Hclass AbstractProductA;class AbstractProductB;class AbstractFactory{public: vi
2011-10-18 19:23:58 675
原创 学习笔记:关注C++设计模式之Factory模式
#ifndef FACTORY_H#define FACTORY_Hclass Product;class Factory{public: virtual ~Factory() = 0; virtual Product* CreateProduct(
2011-10-18 00:38:03 1821
原创 C++抽象基类
先看一篇文章,写得挺好的 为什么C++要定义抽象基类?C++为什么要定义抽象基类? 抽象类就是类里定义了纯虚成员函数的类。纯虚函数只提供了接口,并没有具体实现。抽象类不能被实例化,通常是作为基类供子类继承,子类中重写虚函数,实现具体的接口。为什么要
2011-09-25 18:54:51 10535 5
转载 C++里的虚函数表
在网上看到一篇很详细的文章,关于虚函数的,分享给大家 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型
2011-09-24 23:27:06 838
转载 如何学好C++
导读:作者之前发布了《如何学习C语言》,现介绍如何学习C++的相关建议。昨天写了一篇如何学好C语言,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言。C++是最难的语
2011-09-24 00:45:23 872
原创 c++ 类中的成员函数在内存空间的分配问题
class A() { void c();// not a inline function; void d(){ print("d() is a inline function.");}
2011-09-22 19:24:06 5225 1
转载 C/C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别
static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程设计中的static 全局变量、局部变量、静态全局变量、静态局部变量的区别 C++变量根据
2011-09-22 19:16:56 4171
转载 c/c++的堆与栈 与数据结构的堆和栈的区别
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,
2011-09-22 13:34:18 1539
转载 QT API的继承类图(看QT API的前提)
QShared|---QGLayoutIterator| |---QLayoutArrayIterator| |---QBoxLayoutIterator| |---QToolLayoutIterator|
2011-09-20 23:22:33 9010 1
转载 C++将析构函数定义成virtual的真正原因
1. 一般来说,如果一个类要被另外一个类继承,而且用其指针指向其子类对象时,如题目中的A* d = new B();(假定A是基类,B是从A继承而来的派生类),那么其(A类)析构函数必须是虚的,否则在delete d时,B类的析构函数将不会被调用,因而会产生内存泄漏和异常;
2011-09-19 23:54:00 5627 2
原创 对c++的多态性的一个疑问
先看一个超类(Super)一个子类(Sub)的定义class Super{public: Super(); ~Super(); virtual void someMethod(); };class Sub : pu
2011-09-19 22:51:34 792
原创 C++ 的using 暴露超类中被隐蔽的方法
先看一个超类(Super)一个子类(Sub)的定义,主要关注someMethod这个方法。 class Super{public: Super(); ~Super(); virtual void someMethod(); //这
2011-09-19 20:24:33 1917
原创 C++ 里virtual对析构函数的影响
首先来说一下,Super是一个超类,Sub是一个子类 下面代码的前提是,这两个类都定义了virtual的析构函数 Super* superTest = new Sub(); delete superTest; 这时用delete supe
2011-09-19 18:09:43 529
原创 C++重载操作符的一个疑问
C++高级编程一书说,可以如下这样重载操作符,但是我编译的时候出错了。 friend const SpreadsheetCell& operator+(const SpreadsheetCell& rth, const SpreadsheetCell& lth);
2011-09-19 00:14:52 916
原创 举一个函数说明C++里的 const
函数正如: const SpreadsheetCell SpreadsheetCell::add(const SpreadsheetCell &cell) const{ SpreadsheetCell newCell; newCell.set(mV
2011-09-18 22:49:44 951
原创 C++ 操作符=的重载
可以把赋值操作符认为是一个析构函数和一个复制构造函数的组合 Spreadsheet& Spreadsheet::operator =(const Spreadsheet& rhs){ int i, j; if (this == &rhs) //
2011-09-18 14:20:22 345
原创 对delete的理解
SpreadsheetCell* firstCell = new SpreadsheetCell(22);delete firstCell;这时释放内存是用 delete另一个定义是: mCells = new SpreadsheetCell* [mWi
2011-09-18 14:13:19 403
原创 C++ 复制构造函数的调用
目前刚接触复制构造函数不久,只知道下列情况会调用,先记下来,其它的调用待以后加进来 SpreadsheetCell thirdCell(myCell); //SpreadsheetCell 是自定义的一个类 SpreadsheetCell fourt
2011-09-18 12:57:33 356
原创 c++中 堆的一个奇怪现象
先看一下代码 SpreadsheetCell* firstCell = new SpreadsheetCell(22); //初始化firstCell堆,此时firstCell ->getString()和 getValue() 的值已经为22 c
2011-09-18 11:04:52 377
转载 浅谈C++与Java混合编程
同宿舍有学C++和JAVA的,想一起做点东西出来,充分利用两个语言的优点,以及互补对方的缺点。于是找到了这篇文章。供大家学习 Java认证考试:浅谈C++与Java混合编程现在的程序员,不再像以前一样,掌握一种编程语言就可以混得有模有样了,这里为大家讲的,就是
2011-09-17 10:36:41 857
原创 驻留此地,寻找知己
我是一名刚上大三的学生,第一次在CSDN发博客,见到这里很多编程高手,想来学习一下,希望学到东西,更重要的是找到知己。我的专攻语言是C++。
2011-09-14 23:39:48 543
原创 学习嵌入式两个月来的感受
我知道,从大牛的眼中,一看到这博客题目就知道我是菜鸟之中的菜鸟,因为嵌入式这个名词太大了,学两个月就来大发言论,未必过于轻浮了。说事实,的确是这样。 首先,我说一下,我这两个月所做的东西,两个月前买了一块TX2440的开发板,用了差不多一个月的时间把它的教学视频看
2011-09-14 23:18:47 1869
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人