摘要:C++的IO处理中的头文件以及类理解(2)<sstream>头文件 头文件<sstream>中定义的类型都继承iostream头文件中定义的类型。除了继承得来的操作,sstream中定义的类型还增加了一些成员来管理与流相关联的string. 一、 <sstream>头文件 该标准头文件中包含了ost
阅读全文
随笔分类 - C Pluc Plus
摘要:C++语言不直接处理输入输出,而是通过一簇定义在标准库中的类型来处理IO。这些类型支持从设备读取数据、向设备写入数据的IO操作,设备可以是文件、控制台窗口等,还有一些类型允许内存IO,即,从string读取数据,向string写入数据。 C++使用标准库类来处理面向流的输入和输出,主要是通过三个头文
阅读全文
摘要:编码,保存,编译,运行,一切都很顺利,可是结果呢: 出现乱码!!! 试着编译下你会发现编译出错:error C2001: newline in constant 为什么呢?因为UTF8分为UTF8-无BOM和UTF8-BOM UTF8-BOM其实就是比UTF8-无BOM多了几个字节的文件头,用于和U
阅读全文
摘要:关于头文件和源文件的分别 首先,我们可以将所有东西都放在一个.cpp文件内. 然后编译器就将这个.cpp编译成.obj,obj是什么东西? 就是编译单元了.一个程序,可以由一个编译单元组成, 也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话, 就请使用多个编译单元吧.(一个函数不能
阅读全文
摘要:std::set 中内部元素有序条件删除的理解 1. std::set中的元素是有序排列的 注意:Set集合中的元素通过iterator的引用,但是不能修改。 元素排序: (1)元素中实现比较operator < , (2)Set构造中,输入仿函数(实现元素比较排序) 基于上述的规则,因此:如果要更
阅读全文
摘要:不同平台的数据类型的统一: uint8_t,uint16_t,uint32_t等都不是什么新的数据类型,它们只是使用typedef给类型起的别名,新瓶装老酒的把戏。不过,不要小看了typedef,它对于你代码的维护会有很好的作用。比如C中没有bool,于是在一个软件中,一些程序员使用int,一些程序
阅读全文
摘要:1. Qt多线程与Qobject的关系 每一个 Qt 应用程序至少有一个事件循环,就是调用了QCoreApplication::exec()的那个事件循环。不过,QThread也可以开启事件循环。只不过这是一个受限于线程内部的事件循环。因此我们将处于调用main()函数的那个线程,并且由QCoreA
阅读全文
摘要:continue的在循环中的作用: 1. 跳过当前循环,但是还需要执行自增条件, 如下程序:当i == 3时,执行i++, 即if判定{}执行完毕,则i==4, 然后 for最后一条语句i++, 然后当前进入函数体,当前为i==5, 因此输出从3, 下一个是5.... endl;
阅读全文
摘要:內插是数学领域数值分析中的通过已知的离散数据求未知数据的过程或方法。 根据若干离散的数据数据,得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合。这个过程叫做拟合。內插是曲线必须通过已知点的拟合。 1.线性插值 已知坐标 (x0, y0) 与 (x1, y1),要得到 [x0,
阅读全文
摘要:1. 多字节字符与单字节字符 char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char、wchar_t。 char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节。一个英文字符(如’s’)用一个char(一个字节)表示
阅读全文
摘要:0 前言 由于电脑经常会关闭,或者应用程序也会经常关闭,但有一些参数是经常需要保存。比如当你打开程序,并设置了窗口的大小,想每次打开时都设置窗口为上次打开的大小。这样就需要保存窗口的大小,那么窗口大小的参数保存到那里呢?其实在Windows里最方便的做法,就是保存到注册表里。又比如游戏登录时,总是想
阅读全文
摘要:通常使用下列函数来通过Win系统来对外围设备进行通信处理: 0. 前言 做串口方面的程序,使用CreateFile打开串口通信端口。在对串口操作之前,需要首先打开串口。使用C++进行串口编程,如果采用VS开发,则可以直接借助于串口通信控件来操作,其次,直接调用Windows的底层API函数来控制串口
阅读全文
摘要:C++异常机制概述 异常处理是C++的一项语言机制,用于在程序中处理异常事件。异常事件在C++中表示为异常对象。异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统为程序设置当前异常对象,然后执行程序的当前异常处理代码块,在包含了异常出现点的最内层的try块,依次
阅读全文
摘要:编译原理:LL(1),LR(0),SLR(1),LALR(1),LR(1)对比 LL(1)定义:一个文法G是LL(1)的,当且仅当对于G的每一个非终结符A的任何两个不同产生式 A→α|β,下面的条件成立:SELECT( A→α)∩SELECT( A→β)=dd,其中, α|β不能同时 ε. 解释:L
阅读全文
摘要:SAL: the Microsoft Source Code Annotation Language. SAL: the Microsoft Source Code Annotation Language. 微软代码注解语言。你可以用sal.h中的宏定义来注释函数的参数和返回值来描述他们的行为。 曾
阅读全文
摘要:程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。 编译器中提供了#pragma pack(n)来设定变量以n字节对齐方式。 n字节对齐就是说变量存放的起始地址的偏移量有两种情况: 第一、如果n大于等
阅读全文
摘要:问题场景: 当用VSIDE开发完一个项目,在部署到目标环境中时,配置文件OK,但是报错需要调试 《1》Deploying Visual C++ library DLLs as shared assemblies VC++的Redistributable Package,可以被用来部署“release
阅读全文
摘要:C++标准 年份 C++标准 俗称 备注 2011 ISO/IEC 14882:2011 C++11 第三个C++标准 2007 ISO/IEC TR 19768:2007 C++TR1 标准化委员会的草案文件 2003 ISO/IEC 14882:2003 C++03 第二个C++标准 1998
阅读全文
摘要:Boost安装的安装,以及在VS2013下的使用 1. 为什么要安装? boost是一个开源库,因为开源库可以跨平台,可以通过在不同的“硬件”平台上。所以需要安装的操作。 安装,然后编译生成“静态链接库lib”,或“动态链接库dll”等。 2. 下载boost安装包,现在已经到1.60版本了,所以为
阅读全文
摘要:快捷键操作真的很高效、很酷······ 节省时间,提高开发效率 向人们展示可以惊讶到他们的功能,就像“我怎么就没发现”这种功能。 1. Peek View(本地查看程序源代码位置,便捷跳转) 可以在不新建TAB的情况下快速查看、编辑一个函数的代码。 用法:在光标移至某个函数下: 进入PEEK VIE
阅读全文