- 博客(25)
- 资源 (53)
- 问答 (1)
- 收藏
- 关注
原创 vector的使用示例
vector是一个容器,可以看做是一个大小可变化的数组,所以其特性有: 1)大小可变;2)容器内的数据成员只允许是一种;3)由于vector提供的接口的特性,他可以当做栈来使用vector向量容器是一种随机访问的数组类型,它提供了对数组元素的快速访问、随机访问,以及在序列尾部快速、随机地插入和删除操作。它类似于数据结构中的队列、数组和堆栈等概念。定义头文件 #inclu
2014-06-30 23:12:34 994
转载 C++容器使用经验总结
第1章 容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_m
2014-06-30 21:57:53 877
原创 关联容器 map
要学习关联容器,就必须先知道什么是pair,pair是关联容器的某一对键值对的表示,也就是关联容器的value_type对象。关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和查找、读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 关联容器通过支持键值对的存储,从而可以高效地查找和读取元素,基本的关联容器有四种类型。map 关联数组:元素通过键来存储和
2014-06-30 21:17:31 810
原创 顺序容器
容器容纳特定类型对象的集合。前面已经用过一种容器类型:标准库vector类型,这是一种顺序容器。它将单一类型的元素聚集起来成为容器,然后根据位置来存储和访问这些元素,这就是顺序容器。顺序容器的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定。在顺序容器中,所有的元素根据其位置排列和访问。顺序容器共享一组通用的已标准化的接口:如果两种顺序容器都提供某种操作,那么该操作具有接口和含义。v
2014-06-27 23:38:09 606
原创 迭代器
除了使用下标来访问vector对象元素外,标准库还提供了另一种访问元素的方法:使用迭代器(iterator)。迭代器是一种检查容器内元素并遍历元素的数据类型。标准库为每一种标准容器(包括vector)定义了一种迭代器类型。迭代器提供了比下标操作更通用化的方法:所有的标准库都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代C++程序更倾向于使用迭代器而不是
2014-06-26 23:15:11 744
原创 C++标准库类型——vector
接上一篇,在这一篇中详细介绍一下C++标准库的vector类型。一 标准库vector类型vector是同一种类型对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储字符相关的内存。将vector称之为容器是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。在使用vector之前,必须包含相应的头文件。#includeus
2014-06-26 22:16:09 2104
原创 C++标准库类型——string
除了基本的数据类型(int double 。。。),C++还定义了一个内容丰富的抽象数据类型的标准库。其中最重要的标准库类型是string和vector,它们分别定义了大小可变的字符串和集合。string和vector往往将迭代器用作配套类型,用于访问string中的字符,或者vector中的元素。这一篇介绍一下string,下一篇再介绍vector。 一 标准库string类型strin
2014-06-26 03:00:41 849 1
原创 Windows编程特点
一个完整的Windows应用程序除了WinMain函数外,还包含用于处理用户动作和窗口消息的窗口函数。这不同于一个C++控制台应用程序,可以将整个程序包含在main函数中。当然,他们的区别还远不止这些。一个Windows应用程序还具有以下的特性。 事件驱动程序设计消息循环与输入图形输出用户界面对象资源共享动态链接库 1 事件驱动的程序
2014-06-24 23:20:35 4059
原创 Windows基本数据类型
一,常见数据类型 二,Windows数据类型命名规律 基本数据类型包括:BYTE、CHAR、WORD、SHORT、INT等。 指针类型的命令方式一般是在其指向的数据类型前加“LP”或“P”,比如指向DWORD的指针类型为“LPDWORD”和“PDWORD” 各种句柄类型的命名方式一般都是在对象名前加“H”,比如位图(BITMAP)对应的句柄类型为“HBIT
2014-06-23 23:02:55 852
原创 Windows 程序结构
与控制台程序相比,虽然编制一个Windows应用程序所需的代码要多得多,但是Windows应用程序所具有的强大功能和易操作的特性是控制台程序所不能比拟的。和其他应用程序一样,基于Windows的C++应用程序也有自己的结构,称为Win32应用程序结构。一个简单的Windows程序主要包括应用程序主函数WinMain函数和消息处理函数,WinMain函数的主要工作是定义窗口、注册窗口、显示窗口、消息
2014-06-20 23:35:05 1147
原创 Java 基本语法
Java 基本语法注释、标识符、关键字、运算符、流程控制 注释:(1)单行注释 // Ctrl+/ (2)多行注释 /* */ Ctrl+Shift+/ 添加多行注释 Ctrl+Shift+/ 取消多行注释 (3)文档注释 /** */
2014-06-19 23:21:10 646
原创 实例:闹钟程序
//头文件#ifndef ALARM_H#define ALARM_Husing namespace std;class Alarm{public: int menu_select();//菜单选择 void dispaly_time();//显示时间 bool set_time();//设定预报的时间 bool is_non_time(int aHour,
2014-06-19 01:23:49 1405
原创 static in Java and C++
一、static in Java有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声
2014-06-19 01:07:44 666
原创 Java学习笔记二
Java是面向对象(Object-Oriented)程序语言,具有更高的跨平台可能性。在今天,Java更多时候代表了软件开发的架构。 JDK Java DevelopmentKits 简称。 Java语言特性简单(Simple)面向对象(Object-oriented)网络(Network-savvy)解释的(Interprete
2014-06-19 00:57:39 542
原创 Java学习笔记一
一、面向对象编程(OOP)目标(goal):与面向过程编程相比,是为了在解决现实问题时,以问题为核心,建立对问题结构的考虑,而不是将问题的解决基于计算机的结构、程序员必须建立机器和实际待解决问题之间的关联。特性(feature):抽象性(类和对象)、封装性、继承性、多态性抽象性和封装性——对问题空间的抽象是面向对象的核心,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。Bruc
2014-06-16 23:39:39 568
原创 实例:网络聊天和文件传输的实现
实例:网络聊天和文件传输的实现本程序基于socket网络通信技术开发,用的是tcp/ip协议。只能用于局域网,没有穿透外网的功能。程序比较简单,应用的全部是基础的编程知识,所以适合想要了解网络编程或者入门的人来参考。本程序主要实现的功能如题目所示,其中扩展了CRichEditCtrl类,采用了CRichEditCtrlEx类库,为网上搜集,这个类库最大的特色是可以在空间上显示传送过来的文件
2014-06-15 12:04:03 3046
原创 网络编程小结
随着网络的普及,软件对网络的依赖性也日益增强。打开电脑,浏览器,聊天工具,网络游戏等等和网络相关的内容。然而开发网络程序所面对的问题是网络应用程序的性能、安全性和效率等等。这里先介绍一下网络通信的基础知识,然后再演示一个实例:通过网络编程实现网络聊天和传输文件。 一、网络模型1.1 OSI参考模型 1.2 TCP/IP参考模型 二、基础协议2.1
2014-06-14 23:26:05 723
原创 进程通信 - 匿名管道
引子前面的两篇博文分别介绍了通过剪贴板和通过邮槽来实现进程之间的通信,其中剪贴板呢,是用来实现本地两个进程之间的通信,而邮槽则既可以实现本地两个进程之间的通信,也可以实现本地进程和服务器进程的通信,当然,上面这两种方式都是有局限性的,比如剪贴板就只能实现本地进程之间的通信,而在邮槽中,虽然是既可以实现本地进程之间的通信,又能实现本地进程和远程服务器进程的通信,但是使用邮槽的
2014-06-11 23:43:53 771
原创 进程通信——命名管道
一、命名管道概述命名管道是通过网络来完成进程之间的通信的,命名管道依赖于底层网络接口,其中包括有 DNS 服务,TCP/IP 协议等等机制,但是其屏蔽了底层的网络协议细节。对于匿名管道而言,其只能实现在父进程和子进程之间进行通信,而对于命名管道而言,其不仅可以在本地机器上实现两个进程之间的通信,还可以跨越网络实现两个进程之间的通信。命名管道使用了 Windows 安全机制,因而命名管道的服
2014-06-11 01:08:42 1697
原创 虚拟机
虚拟机虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。1概述通过虚拟机软件,你可以在一台物理计算机上模拟出另一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用
2014-06-10 23:21:14 747
原创 进程通信——剪贴板
进程通信——剪贴板一、简介1.1 定义剪贴板是由操作系统维护的一块内存区域,这块内存区域不属于任何单独的进程,但是每一个进程又都可以访问这块内存区域,而实质上当在一个进程中复制数据时,就是将数据放到该内存区域中,而当在另一个进程中粘贴数据时,则是从该块内存区域中取出数据。 Windows剪贴板是一种比较简单同时也是开销比较小的进程间通信方式。使用剪贴板传递数据使开发人员不必过多地考
2014-06-09 23:24:48 3181
原创 线程
线程一、简介1.定义线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以
2014-06-07 23:32:24 814
原创 进程
进程一、简介1.定义狭义:进程就是一段程序的执行过程。广义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data regi
2014-06-06 23:22:43 906
原创 平衡二叉树
平衡二叉树一、简介1.1定义平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类
2014-06-05 23:37:09 1635
原创 哈夫曼编码
哈夫曼编码一、简介1.1定义哈夫曼编码(Huffman Coding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码(有时也称为霍夫曼编码)。1.2应用哈夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据
2014-06-04 23:22:34 5648
Aglient控制仪器的实例
2016-08-26
py2exe for python2.7下载
2016-06-17
curl 库文件,可用于C++ https 通信
2021-01-23
图像方向矫正类(文字+矩形方框图像)
2019-12-19
Windows USB数据线绑定COM端口
2018-02-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人