随笔分类 -  C++

摘要:一关于内存 1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存 阅读全文
posted @ 2016-08-12 22:45 大雄的哆啦A梦 阅读(21651) 评论(1) 推荐(1)
摘要:C++ 智能指针详解 一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲 阅读全文
posted @ 2016-08-07 20:59 大雄的哆啦A梦 阅读(1577) 评论(0) 推荐(0)
摘要:一:inline定义与使用 inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形 阅读全文
posted @ 2016-08-07 20:14 大雄的哆啦A梦 阅读(941) 评论(0) 推荐(0)
摘要:引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。 函数模板 在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下: 但是如果是要 阅读全文
posted @ 2016-08-04 22:57 大雄的哆啦A梦 阅读(190) 评论(0) 推荐(0)
摘要:explicit作用: 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。 explicit使用注意事项: * explicit 关键字只能用于类内部的构造函数声明上。 * explicit 关键字作用于单个参数的 阅读全文
posted @ 2016-08-03 23:13 大雄的哆啦A梦 阅读(200) 评论(0) 推荐(0)
摘要:迭代器是C++标准库中的重要组件,特别是在容器内部,没有迭代器,容器也就无所谓存在了。 例如:vector容器简而言之就是3个迭代器 start finish 以及end_of_storage vector的任何操作都离不开这3个迭代器。。 接下来,总结一下C++ 中的迭代器的操作。 C++的迭代器 阅读全文
posted @ 2016-07-01 21:18 大雄的哆啦A梦 阅读(624) 评论(0) 推荐(0)
摘要:、康托展开:全排列到一个自然数的双射 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! ai为整数,并且0<=ai<i(1<=i<=n) 适用范围:没有重复元素的全排列 二、全排列的编码: {1,2,3,4,...,n}的排列总共有n!种,将 阅读全文
posted @ 2016-06-18 15:03 大雄的哆啦A梦 阅读(659) 评论(0) 推荐(0)
摘要:以前在使用stl的过程中发现bind1st和bind2nd这两个函数,当时不太理解什么意思,今天在网上查了一下相关资料发现竟然很简单,下面我就具体解释一下他们的用法。 bind1st和bind2nd函数用于将一个二元算子(binary functor,bf)转换成一元算子(unary functor 阅读全文
posted @ 2016-06-15 21:37 大雄的哆啦A梦 阅读(289) 评论(0) 推荐(0)
摘要:如果容器类型定义为基类类型,那么虽然可以把派生类装进容器中,但是不能通过容器访问派生类自己的public成员,派生类将会倍切掉,只保留派生类的基类部分; 如果把容器定义为派生类类型,那么不能把基类类型装进容器中, 没有从基类类型到派生类类型的标准转换。虽然可以显式的使用强制类型转化把基类转化成派生类 阅读全文
posted @ 2016-06-09 16:59 大雄的哆啦A梦 阅读(1001) 评论(0) 推荐(0)
摘要:通过一个实例稍微深入理解C++复制控制过程,参考资料《C++ primer》,介绍点基本知识: 1、在C++中类通过特殊的成员函数:复制构造函数、赋值操作符和析构函数来控制复制、赋值和撤销该类的对象时会发生什么。 2、复制构造函数(copy constructor)是一种特殊的构造函数,具有单个形参 阅读全文
posted @ 2016-06-06 21:09 大雄的哆啦A梦 阅读(233) 评论(0) 推荐(0)
摘要:在编写ftp客户端程序时,在联通后使用recv函数进行接收欢迎信息时,需要申请内存进行接收数据保存,一次读取成功,但是由于一个随机的ftp服务端在说,欢迎信息的大小是不知道的,所以在尝试使用死循环,在阅读recv的说明时讲到返回值即是接收到的字节数,那么返回0的时候就代表结束了,实践发现recv是个 阅读全文
posted @ 2016-03-07 21:53 大雄的哆啦A梦 阅读(2049) 评论(0) 推荐(0)
摘要:而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~ 下文会通过例子详细说明哦 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出。当函数内部需要修改参数,并且不 阅读全文
posted @ 2016-03-02 20:51 大雄的哆啦A梦 阅读(209) 评论(0) 推荐(0)
摘要:最近要用到Qt的Socket部分,网上关于这部分的资料都比较复杂,我在这总结一下,把Socket的主要部分提取出来,实现TCP和UDP的简单通信。 1.UDP通信 UDP没有特定的server端和client端,简单来说就是向特定的ip发送报文,因此我把它分为发送端和接收端。 注意:在.pro文件中 阅读全文
posted @ 2016-02-25 18:59 大雄的哆啦A梦 阅读(301) 评论(0) 推荐(0)
摘要:C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。一、map的说明1头文件#include2定义mapmy_Map;或者是typedefmapMY_MAP;MY_MAPmy_Map;3插入数据(1)my_Map["a"]=1;(2)my_... 阅读全文
posted @ 2016-01-13 21:27 大雄的哆啦A梦 阅读(297) 评论(0) 推荐(0)
摘要:所谓的异步套接字编程就是调用了 如下函数WSAAsyncSelect设置了 套接字的状态为异步,有关函数我会在下面详细介绍。。。异步套接字解决了 套接字编程过程中的堵塞问题 ...... 什么是堵塞?请看下面你可能有过这样的体会 在 VC编写基于界面的网路程序时候 ,调用 recv recvfrom... 阅读全文
posted @ 2015-08-19 12:26 大雄的哆啦A梦 阅读(1582) 评论(0) 推荐(0)
摘要:Windows 邮件槽(MailSlot)来自《Windows网络编程第二版 中文版》优点:通过网络,将一条消息广播给一台或多台计算机。缺点:只允许从客户机到服务器,建立一种不可靠的单向数据通信。不提供数据可靠性传播的保障。邮件槽是围绕Windows文件系统接口设计出来的。客户机和服务器应用需要使用... 阅读全文
posted @ 2015-05-24 09:31 大雄的哆啦A梦 阅读(1103) 评论(0) 推荐(0)
摘要:当我们在用VS进行串口编程时,在打开串口前,经常想知道当前PC上存在多少个串口,哪些串口可用?哪些串口已经打开了,最好是在一个Combo Box中列表系统当前所有可用的串口以供选择,然而如何获取系统当前可用的串口有哪些呢?这里介绍的方法也是最简单也是最笨的一种方法,即一个一个去试,试完了就知道了。至... 阅读全文
posted @ 2015-05-04 23:15 大雄的哆啦A梦 阅读(1005) 评论(0) 推荐(0)
摘要:1.新建一个编辑框控件(Edit Control),将其多行(Multiline)前面打勾(属性设置为True),Auto HScroll前面的勾去掉(属性设置False),这样就可以实现每一行填满后自动换行了。2.再将垂直滚动条(Vetrical Scroll)前面打勾(属性设置为True),当输... 阅读全文
posted @ 2015-05-04 20:26 大雄的哆啦A梦 阅读(527) 评论(0) 推荐(0)
摘要:串口通信简介 一般来说,计算机都有一个或多个串行端口,这些串口提供了外部设备与PC进行数据传输和通信的通道,在CPU和外设之间充当解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据时,比特流数据被转换为字符数据传递给CPU,再进一步说,在操作系统方面,W... 阅读全文
posted @ 2015-05-02 15:07 大雄的哆啦A梦 阅读(643) 评论(0) 推荐(0)
摘要:1 CPaintDC类(1)CPaintDC类是CDC类的一个派生类,该类一般用在响应WM_PAINT消息的函数OnPaint()中。(2)WM_PAINT消息是当窗口的某个区域需要重画时激发的窗口消息。当程序中的消息循环接到WM_PAINT消息时就自动调用消息处理函数OnPaint(),如果在On... 阅读全文
posted @ 2015-04-21 22:56 大雄的哆啦A梦 阅读(4098) 评论(0) 推荐(0)