c++
bruceyang2009lzu
这个作者很懒,什么都没留下…
展开
-
c++基础要点整理(一)之——内部类
包含在一个类里面都类称为内部类,其定义形式为: class A{ public: class InClass { void funcB(){} }; void funcA();};InClass 就是A的内部类;原创 2015-11-16 21:17:22 · 3718 阅读 · 3 评论 -
不同套接字结构示意图
原创 2016-04-09 12:07:33 · 395 阅读 · 0 评论 -
网络编程POSIX规范要求数据类型
数据类型 说明来源int8_t 带符号8位整数uint8_t 无符号8位整数int16_t 带符号16位整数uint16_t 无符号16位整数int32_t 带符号32未整数uint32_t 无符号32位整数sa_family_t 套接字地址结构的协议簇 socklen_t 套接字地址结构的长度in_addr_t IPV4地址原创 2016-04-08 21:39:28 · 1090 阅读 · 0 评论 -
boolalpha
boolalpha 把bool值显示为 true/false头文件#includeusing namespace std;示例#includeusing namespace std;int main(){ bool a=true; cout<<"a="<<a<<endl; cout <<"a=" << boolalpha << a原创 2016-05-18 11:23:37 · 428 阅读 · 0 评论 -
虚函数系列(一)使用角度差异
纯虚函数在父类只定义接口,必须由子类实现,是一种运行时动态。包含纯虚函数的类为抽象类,不能通过new来创建对象。抽象类中包含三种函数:纯虚函数、虚函数、普通函数。#include 2 using namespace std; 3 4 class VirtualTest{ 5 public: 6 virtual void abstractFunc()=0原创 2016-07-26 09:08:16 · 270 阅读 · 0 评论 -
本周作业
研究内容:嵌套事务的回滚处理方案;研究成果:blog一篇时效:7.10之前原创 2016-07-08 11:24:02 · 365 阅读 · 0 评论 -
extern "C"什么意思
缘由C语言不支持函数重载,编译之后的函数名依然是原函数名。在c++中,支持了函数重载,重载之后的函数名 为 原函数名+参数名。比如函数 bool max(int a, int b),编译之后,c中为 max, 而c++中函数名变成了 max_int_int。使用c++头文件中调用c语言代码c语言不支持 extern "C", 要让其他语言按c格式编译,必须在c++头文件中调用c原创 2016-03-17 22:19:11 · 3422 阅读 · 0 评论 -
linux 下 c++ 连接mysql
系统: ubuntu14数据库:mysql5.5步骤:g++/ mysql 数据库安装略1. 首先安装mysql对 C/C++的API, 可以通过下面命令安装:sudo apt-get install mysql-server libmysql++-dev如果在安装过程中报错, 可以根据命令提示, 通过sudo apt-get update 修复下。2. 将lib文件拷贝到原创 2016-09-24 23:02:21 · 3518 阅读 · 0 评论 -
C++11 标准新特性: 右值引用与转移语义
https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/特性的目的右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要转载 2017-07-10 23:45:41 · 336 阅读 · 0 评论 -
C++11 标准新特性:Defaulted 和 Deleted 函数
https://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/index.html本文将介绍 C++11 标准的两个新特性:defaulted 和 deleted 函数。对于 defaulted 函数,编译器会为其自动生成默认的函数定义体,从而获得更高的代码执行效率,也可免除程序员手动定义该函数的工作量。对转载 2017-07-11 23:59:57 · 309 阅读 · 0 评论 -
开放源码 C/C++ 单元测试工具,第 2 部分: 了解 CppUnit
本文是讨论开放源码单元测试工具的 系列文章 的第 2 篇,介绍非常受欢迎的 CppUnit — 最初由 Eric Gamma 和 Kent Beck 开发的 JUnit 测试框架的 C++ 版本。C++ 版本由 Michael Feathers 创建,它包含许多类,有助于进行白盒测试和创建自己的回归测试套件。本文介绍一些比较有用的 CppUnit 特性,比如 TestCase、TestSu转载 2017-07-12 00:01:15 · 466 阅读 · 0 评论 -
explicit c++
c++ 中关键字 explicit 通过一个简单例子就可以class Stringer{ Stringer(int n); Stringer(const char* T);}; 假如有上面的一个类, 其中有个参数为整型的构造器, n表示Stringer分配n个char长度的字符。下面如果有下面的语句: Stringer str = 10原创 2017-07-31 23:15:00 · 438 阅读 · 0 评论 -
一句话说清 const pointer const data
const 语法虽然变化多端, 但并不是莫测高深, 如果关键字const 出现在星号左侧, 表示被指物是常量;如果出现在星号右侧, 表示指针自身是常量; 如果出现在星号两侧,表示被指物和指针都是常量。如果被指物是常量,有的人会把const写在类型之前, 有的人会写在类型之后, 星号之前, 这两种写法是等价的。 const char * T char const * T原创 2017-08-14 17:25:16 · 1595 阅读 · 0 评论 -
fluent c++ blog
http://www.fluentcpp.com/原创 2017-08-25 00:17:59 · 888 阅读 · 0 评论 -
Effective C++ 摘要(一)
1. 当你看到赋值符号“=”时,一定要小心, 因为赋值操作也可以调用copy构造函数: Widget w1; Widget w2 = w1; //调用copy构造函数。 Widget w3, w4; w3 = w4 //调用赋值操作符。 copy 构造函数和copy赋值函数的区别是, 如果一个新原创 2017-08-29 21:16:09 · 341 阅读 · 0 评论 -
c++ 资源大全
位置: Linuxeden主页>新闻动态>推荐!国外程序员整理的 C++ 资源大全来源:伯乐在线 作者: fffaraz 关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++标准库,包括了STL容器,算法和函转载 2015-10-31 00:57:33 · 709 阅读 · 0 评论 -
c++ 开源库
C++在"商业应用"方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成 Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,比如Android必定要推出原生的SDK转载 2015-10-31 00:56:38 · 495 阅读 · 0 评论 -
c++基础要点整理(二)之——友元
友元的定义一般在c++中, 类都私有成员是不允许其他类访问的,但是c++中可以通过友元来访问类的私有成员。c++中, 可以把全局函数或者类定义为类的友元void Print(int& a);class FriendClassTest{ // 将全局函数申明为友元; Friend void Print(int& a);原创 2015-11-16 22:28:46 · 459 阅读 · 0 评论 -
c++标准库知识梳理
这里不打算展开对 c++标准库 做全面解释。 主要是对编程时,与标准库相关的知识做一梳理。如果您想深入了解标准库方面的内容,可以绕行。 c++标准库包含了大量常用的实体和函数,扩展了c++的基本语言功能,是c++的一部分,每个符合标准的编译器都提供完整的标准库 c++标准库的包括主要方面 标准库的范围是很特殊的,既包括基本的语言支持、输入输出函数和异常处理,也原创 2012-10-29 17:33:31 · 617 阅读 · 0 评论 -
vector和set的区别
c++ STL中,vector和set都实现了对一类对象的存储,然后都可以查找、添加、删除、修改。这两个功能看似如此相似,c++为什么会设计这样重复的东西。既生瑜何生亮,既生vector,何生set。当然不是,c++引进vector、set有其细致的考虑。 首先vector属于顺序容器,其元素与存储位置与操作操作有关;set属于关联容器,其元素相当于键值。 vector原创 2013-01-24 16:31:09 · 1512 阅读 · 0 评论 -
c++中vector与list的区别
c++标准库中,容器vector和list都可以用来存放一组类型相同的数据。而且二者不同于数组的一点是,支持动态增长。但它们还是有有几点不同(1) vector是顺序表,表示的是一块连续的内存,元素被顺序存储;list是双向连接表,在内存中不一定连续。(2)当数值内存不够时,vector会重新申请一块足够大的连续内存,把原来的数据拷贝到新的内存里面;list因为不用考虑内存的连续,因此新原创 2013-01-21 10:07:02 · 17734 阅读 · 1 评论 -
深入理解vector list deque——存储结构机理
先来看一下 c++标准模板库中,容器类vector、list 、deque都属于顺行性容器(所谓顺序性容器是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集,每个元素都有固定的位置,这个位置与元素无关,只与插入删除的先后顺序有关);都可以用来存储一组类型相同的对象;不同于内置数据类型数组的是,vector、list、deque的大小不是固定的,他们支持动态增长。 之所以原创 2013-01-21 21:34:11 · 7234 阅读 · 2 评论 -
c++ 关联容器详解——从内部结构到应用
关联容器不同于顺序容器的是,顺序容器底层用数组实现,为线性结构,而关联容器在实现中,用到的非线性存储方式;顺序容器是通过元素在容器中的位置顺序存储和访问元素,而关联容器是通过键(key)存储和读取元素的。c++标准模板库中,关联容器有set、multiset、map、multimap。1.底层原理我们已经说过,关联容器底层实现是用非线性存储方式,那么这种非线性存储方式是什么呢?答案是“红黑原创 2013-01-22 15:42:06 · 1874 阅读 · 0 评论 -
宏定义和内联函数
宏定义和内联函数,都可以减少函数的调用开销,每次调用函数不必压栈和开辟新的空间。使用宏定义和内联函数代码的执行效率高。它们的区别是(1)宏定义是预编译器加载,而内联函数是由编译器加载;(2)宏定义容易产生一些错误, #define MIN(x) (x*x) MIN(1+3)得到的结果不是我们想要的16,而是1+3*1+3=7;解决这个问题的办法是加上括号:原创 2013-09-11 23:26:00 · 1134 阅读 · 0 评论 -
匈牙利命名
对于程序中的变量名称,有人主张尽量让变量名简单易懂。在定义变量时,不仅让变量名称易于理解,而且数据类型、属性能够一眼看出,这种观念的命名称为匈牙利命名。匈牙利命名法是一种编程时的命名规范。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解。命名规则属性部分: g_ 全局变量 c_ 常量 m_原创 2013-04-11 17:09:27 · 964 阅读 · 0 评论 -
浮点数
浮点数科学记号表示法任何一个浮点数 M*10^X, 在程序中,可以表示为 MeX,或MEX(其中,M为有效数字,X为以10为基数的指数部分,e代表指数指定的英文字母)浮点数类型浮点数包括 float, double, long double 三种类型。 long double 在不同编译器上,存储范围不同,因此在考虑移植时谨慎使用浮点数的声明浮点数的预设类型为doubl原创 2013-04-08 22:48:05 · 1019 阅读 · 0 评论 -
c++标准模板库容器分类
c++标准模版库中,容器总共分为三类:顺序容器、关联容器、容器适配器。 顺序容器是一种线性结构的可序群集,底层实现依靠链表或数组。 关联容器是一种非线性的树结构,数据以键值的格式保存。 这两种在上上面两篇文章中具体介绍到,第三种容器为容器适配器。 适配器顾名思义,就是让一个对象的行为符合另一个对象的行为的机制。容器适配器,就是一个接口,原创 2013-01-22 16:31:49 · 1564 阅读 · 0 评论 -
一个偶然错误引起对gcc和g++的认识
上次在linux上编译代码,已经有很长一段时间了。最近,论文后面的实验必须要用linux完成,所以不得不重新拾起linux上的编程。和以前一样,先写#includeusing namespace std;再写完主体函数。接着编译 gcc test.cpp -o test1.out ,问题出现了 char.cpp:(.text+0x4d):对‘std::cout’未定义的引用 ,原创 2013-04-11 16:14:36 · 1620 阅读 · 0 评论 -
字符&字符串
c++中,字符类型存储一个字符的数据,声明时用单引号括起来。字符是用ASCII码的方式存储,因此,字符类型相当于一个字节的整数。可以进行数值运算。 字符串类型事实上是字符数组,在初始化字符串时,可以用双引号把字符串括起来。字符串中的每个字符,都可以通过下标进行访问。需要特别注意的一点,字符串是以“\0"结尾,因此,字符串的长度为存储的字符数+1. 问:‘A’和“A”有什么区原创 2013-04-11 09:55:40 · 986 阅读 · 0 评论 -
1
1原创 2014-08-12 16:51:47 · 788 阅读 · 0 评论 -
重载操作符
20150728 星期二 上海 晴 高温日志只是随笔摘要,供自己后续整理查看。重载操作符1. 重载操作符是特殊的函数,operator后加要重载的操作符,和其他函数一样,重载操作符函数也有参数和返回值。格式如下:Data operator+(const data1&, const data2&)2. 不可以重载的操作符::: .* . ?:3. 可原创 2015-07-28 23:54:44 · 563 阅读 · 0 评论 -
boost 之 format
3原创 2015-10-22 23:27:24 · 399 阅读 · 0 评论 -
编译时报错“ undefined reference to”
报错写了一段小程序,报错“exception.cpp:(.text+0x28): undefined reference to `Sales_item::setPrice(double)“程序就算c++ prime中得测试程序:程序代码//*********Sales_Item.h#ifndef SALES_H#define SALES_H#include usin原创 2015-11-08 22:50:02 · 3760 阅读 · 0 评论 -
STL算法——accumulate
如果有一个算法可以让你做各种事, 那这个算法一定是 std:accumulate. 知道怎样使用它,以及怎样不使用它非常重要。 基本用法 Numeric 类型 第一件需要知道的事情就是std::accumulate 的所在位置: 它在头文件中,而不是像其他兄弟算法一样在头文件中。 正如翻译 2017-10-18 00:25:20 · 1126 阅读 · 0 评论