c++
文章平均质量分 72
nocodelife
这个作者很懒,什么都没留下…
展开
-
sizeof 和 sizeof(string)
sizeof和sizeof(string)的问题今天看《程序员面试宝典》一书(为了应付将要到来的微软笔试),看到了sizeof(string)这个问题。在Dev C++上测试的结果是4,很不明白。上网搜了一下,得到如下结果:string strArr1[]={"Trend", "Micro", "Soft"};sizeof(strArr1)=12转自:http://ap转载 2012-12-07 10:10:06 · 642 阅读 · 1 评论 -
1.第七章,有点迷糊,改天再看下
因为第六章的后面输出流格式化看着太麻烦了,所以先跳到第七章开始看C默认const是外部连接,c++默认const为内部连接。:所以c里面会对const variable分配内存,c++则在出现extern 或者对const 变量进行取地址时才为其分配内存空间。内连接和外连接的区别 const variable在定义时必须初始化,是文件内部可见。这是因为c++中原创 2013-03-08 09:01:39 · 1006 阅读 · 0 评论 -
bahuanghou
八皇后:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8*8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。这个程序我看不懂.哪位朋友能我注释一下.谢谢!#include "stdio.h"int count;int queen [10], column[20],left[20],right[20];/* 函数功能:打印出八皇后的结果*/转载 2013-03-08 16:57:22 · 829 阅读 · 0 评论 -
C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。转载 2013-02-27 10:55:18 · 528 阅读 · 0 评论 -
c++输入输出重载,赋值,加法运算符重载
在类里面声明了构造函数,但是没有写出它的实现,则在运行的时候会出现error LNK2001: unresolved external symbol "public: __thiscall MyClass::MyClass(void)" (??0MyClass@@QAE@XZ)这样的错误,所以要在外部去定义该构造函数或者是在内部定义如果要cout输出string类型,但是没原创 2013-02-28 11:36:48 · 7186 阅读 · 2 评论 -
C++中delete和delete[]的区别
一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义转载 2013-02-28 15:16:51 · 486 阅读 · 0 评论 -
拷贝构造函数和赋值构造函数的区别
什么时候用拷贝构造函数,和赋值构造函数: (一)当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数:一个对象以值传递的方式传入函数体 一个对象以值传递的方式从函数返回 一个对象需要通过另外一个对象进行初始化。 如果在类中没有显式地声明转载 2013-02-28 14:24:34 · 1107 阅读 · 0 评论 -
complex 重载 算数运算符
#include using namespace std;class complex{public: friend void print(const complex &c); complex(); complex(double r,double i); ~complex(); complex operator+(const complex &c); complex opera原创 2013-03-01 10:12:56 · 805 阅读 · 0 评论 -
自增自减运算符重载
#include using namespace std;class counter{public: counter(){v = 0;} counter & operator ++(); counter & operator ++(int); void print(){ cout<<v<<endl;}private: unsigned v;};counter & cou原创 2013-03-01 11:37:51 · 1010 阅读 · 0 评论 -
c++虚函数表
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2013-03-01 15:24:12 · 696 阅读 · 0 评论 -
1.第六章2
每种输入输出流多有一个概念,“下一个”字符来自哪里(若是输入流)或去哪里(若是输出流)。在某些情况下,可以需要移动这个流的位置,可以用两种方法处理:第一种方式是在流里绝对定位,叫流定位。第二种方式像标准C库函数fseek()函数那样做,从文件的开始,结尾或者当前位置移动给定数目的字节。流定位(streampos)方法要求先调用"tell"函数:对一个输出流用tellp()函数,对一个输入流用t原创 2013-03-07 10:56:21 · 1043 阅读 · 0 评论 -
1.第六章
1.操纵算子:一个被称为endl的操纵算子,一个操纵算子作用于流上,这种情况下,插入一新行并清空流(消除所有存储在内部流缓冲区的还没有输出的字符)。也可以只是清空流: cout另有一个基本的操纵算子把基数变为oct(八进制),dec(十进制),hex(十六进制):cout2.文件输入输出流cin.get()用法1: cin.get(字符变量名)可以用来接收字符#incl原创 2013-03-06 15:28:11 · 639 阅读 · 0 评论 -
对vector的各种操作
对vector的各种操作 2011-05-25 16:43:34| 分类:默认分类 |字号 订阅1.vector 的数据的存入和输出:#include#include#include using namespace std;void main(){ int i = 0; vector v; for( i转载 2013-01-14 15:44:32 · 566 阅读 · 0 评论 -
list容器排序问题?
#include #include #include #include using namespace std;int main(){ int array[] = { 1,2,3,4,2,5,6,3,7,5,8,9}; list ilst(array,array + sizeof(array) / sizeof(int)); vector ivec; sort(ils转载 2013-02-04 11:28:49 · 1018 阅读 · 0 评论 -
容器初级入门
1.编写一个循环将list容器的元素逆序输出#include #include using namespace std;int main(void){ int a[10] = {0,1,2,3,4,5,6,7,8,9}; list list1(a,a+10); list::iterator iter1 = list1.begin(), iter2 = li原创 2013-01-17 10:44:50 · 725 阅读 · 0 评论 -
非关联容器入门
Pair类型概述(转载)pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。 pair a("James", "Joy");也可以像上面一样在定义的时候直接对其初始化。原创 2013-01-22 11:28:37 · 603 阅读 · 0 评论 -
c++ prime 10.3.9
include #include#include #include #include #include using namespace std;ifstream& open_file(ifstream&,const string&);int main(int argc, char **argv){ map trans_map; string key, val原创 2013-01-22 15:08:56 · 838 阅读 · 1 评论 -
拷贝构造函数第十章 Thinking inc++
//没有调用他的构造函数而是调用的拷贝构造函数所以,在调用函数f()时,创建对象没有使object_count++,所以使后来的object_count的数量发生了变化#include #include using namespace std;class howmany{private: static int object_count;public: howmany() {原创 2013-03-04 14:29:29 · 693 阅读 · 0 评论 -
windows API 串口编程参考
(一)Windows API串口通信编程概述Windows环境下的串口编程与DOS环境下的串口编程有很大不同。Windows环境下的编程的最大特征之一就是设备无关性,它通过设备驱动程序将Windows应用程序同不同的外部设备隔离。Windows封装了Windows的通信机制,这种方式称为通信API,Windows程序可以利用Windows通信API进行编程,不用对硬件直接进行操作。这种体系被称转载 2013-02-20 13:15:09 · 7299 阅读 · 0 评论 -
windows串口编程
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使转载 2013-02-20 13:22:29 · 1312 阅读 · 0 评论 -
1.第五章
1.在C++中,还有另一个愿意需要对函数名进行重载:构造函数。因为构造函数的名字预先由类的名字确定,所以只能由一个构造函数名,但是如果我们想用几种方法来创建一个对象时该怎么办呢?所以重载函数的本质就是允许函数同名。2.函数重载允许多个函数同名,但是还可以以不同的方法调用同一函数。C++中有一个很通用的做法叫缺省参数,缺省参数就是在用户调用一个函数时,没有指定参数,用来调用同一函数。这样原创 2013-03-06 09:03:39 · 798 阅读 · 0 评论 -
下标运算符重载【】
#include using namespace std;class charArray{public: charArray(int len) { length = len; buffer = new char[length]; } int getLength() { return length; } char & operator[](int i);原创 2013-03-01 10:56:38 · 4087 阅读 · 0 评论