自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++栈的实现

简单数据类型的栈实现:先入后出(后入先出),LIFO,/********************************//*文件名称:charStack.h *//*文件内容:定义char类型的栈的类*//********************************/#ifndef CHARSTACK_H#define CHARSTACK_Hclass Stack{

2017-10-16 16:35:17 270

原创 c++环形队列

# 学习了队列的有关知识,队列,先进先出,FIFO,有顺序队列和环形队列,现在贴出自己使用c++编写的环形队列的代码,记录并分享//文件名称:MyQueue.h#ifndef MYQUEUE_H#define MYQUEUE_H/***************************************//* 类名称:MyQueue/* 类内容:声明环形队列类的数据成员和成员函数/*

2017-10-14 15:29:56 451

翻译 构造和析构函数

目前为止,我们不能像初始化int,double类型那样初始化类,比如,int year=1001; //合法的声明Stock hot={"Auto",200,50.25}; //非法的声明主要原因是类Stock的数据成员是私有的,只能通过成员函数来访问,因此需要设计合适的成员函数来初始化Stock类。构造函数c++提供了一个特殊的成员函数—构造函数,专门用于构造新对象,将值赋给它的数据成员。意思

2017-09-07 15:48:17 275

翻译

面向对象编程的特性:抽象封装和数据隐藏多态继承代码的可重用性c++中的类类是一种将抽象转换成用户自定义类型的c++工具,它将数据表示和操纵数据的方法组合成一个包。 举例,一个关于公司股票的类可以进行如下抽象:数据部分包括公司名称,所持股份的数量,每股的价格,股票总值。方法部分包括获得股票,增持,卖出股票,更新股票价格,显示关于所持股票的信息。接下来,定义类:类声明:以数据成员的方式描

2017-09-04 18:02:26 359

翻译 名称空间

c++提供了名称空间工具,以便更好的控制名称的作用域。传统的c++名称空间在c++中已经有的名称空间属性:声明区域:声明区域是可以在里面进行声明的区域。潜在作用域:从声明点开始,到其声明的区域的结尾。作用域:变量对程序可见的部分。新的名称空间特性c++新增了这样的功能,即通过定义一种新的声明区域来创建命名的名称空间。一个名称空间的变量不会和另一个名称空间的变量名称发生冲突。1. 使用关键字n

2017-08-30 15:37:27 241

翻译 动态分配和存储方案

使用new和delete(C语言中使用函数malloc( ))分配的内存,我们叫做动态内存。动态内存由new和delete控制,不像前述的变量内存分配是由作用域和链接性规则决定,而动态内存分配取决于new和delete何时被使用。通常,编译器分配3种内存:一块用于静态变量(可能再细分),一块用于自动变量,一块用于动态存储。new运算符1. 使用new运算符时的初始化如何初始化动态分配的变量:c++

2017-08-26 11:26:55 1293

翻译 函数链接性和语言链接性

函数链接性和变量一样,函数也有链接性。默认情况下,函数具有外部链接性,即可以在文件间共享。实际上,可以在函数原型中使用 extern 来指出函数是在另一个文件中定义的,不过这是可选的。使用 关键字static 将函数链接性改为内部链接性,使其只能在本文件中使用,必须在原型和函数定义中同时使用该关键字。语言链接性  另一种形式的链接性为语言链接性,也对函数有影响。链接程序要求每个不同的函数都具有

2017-08-23 19:30:06 1652 1

翻译 存储说明符或cv-限定符

存储说明符c++有关提供存储信息的关键字有如下几个:auto(在c++11中不再是说明符,用于自动类型判断)register(寄存器变量,c++11显示地指出自动变量)static(静态持续变量)extern(引用外部变量声明)thread_local(c++11新增,指出变量的持续性和线程的持续性相同。关系类似于静态持续变量之于整个程序。)mutable(即使结构或类中的变量为cons

2017-08-23 19:01:53 367

翻译 静态持续性、无链接性

至此,已经学习过了链接性分别为内部和外部、作用域为整个文件的变量。接下来学习静态持续变量家族中的第三个成员—无链接性的局部变量。它是如下创建的:将static限定符用于代码块中声明的变量前面。意味着虽然该变量只在代码块中使用,但是它在该代码块不处于活动状态时仍然存在。因此在调用两次函数之间,该变量的值不变。如果初始化了该变量,,则程序只在启动时进行这唯一的一次初始化。以后再调用函数时,将不会像自动变

2017-08-21 11:44:22 336

翻译 静态持续变量、内部链接性

将static限定符用于作用域为整个文件的变量时,该变量的链接性是内部的即只能在所属的文件中使用它。为了区分具有外部链接性的外部变量和用static限定的内部链接性的变量,以下程序做了示例://Main.cpp#include <iostream>using namespace std;double warming=0.1;//定义外部变量int i=1;static int j=2;vo

2017-08-21 11:04:15 581

翻译 静态持续性、外部存储性

1.外部变量的声明外部变量作用域为整个文件,可以在main()前或者头文件中进行声明。 一方面,若要使用外部变量必须在使用它的所有文件中进行声明,另一方面,c++中限制了变量的定义只能进行一次,即单定义规则。所以,若要在多个文件中使用同一个外部变量,必须进行以下声明://file1.cppextern int i=7; //定义外部变量iint j=8; //定义外部变量j,extern可以

2017-08-21 10:38:55 173

翻译 存储持续性、作用域和链接性

关于内存的知识:c++使用3种(c++11中是4种)不同的方案来存储数据,这些方案的区别在于数据保留在内存中的时间。自动存储持续性:在默认情况下,在函数中声明的函数参数和变量的存储持续性为自动,作用域为局部,没有链接性,也就是说,在代码块和函数内部定义的变量只在该代码块和函数中起作用。c++有2种存储持续性为静态的变量。静态存储持续性:在函数定义外定义的变量和使用关键字static定义的变量的存

2017-08-21 09:52:04 339

翻译 函数模板二

1. 显示具体化接上文,假设定义了结构:struct job{ char name[40]; double salary; int floor;}  当想交换两个结构的内容时,使用交换两个值的常规模板Swap是可以的,但是,想交换结构的部分成员,比如,salary或floor,则需要使用不同的代码,但是Swap()的参数保持不变(两个结构的引用),因此无法使用模板重载来提

2017-08-09 16:47:55 251

翻译 函数模板一

c++新增特性–函数模板。函数模板是通用的函数描述,也就是说,采用泛型编程,其中的泛型可以使用具体的类型(如int或double)替换,通常将类型作为参数传递给模板,可使编译器生成该类型的函数。应用场景:比如现在已有一个交换两个 int 值的函数 Swap,当我们想交换两个 double 值时或 char 值时,一种办法是复制原先的代码,将 int 全部改为double或char,而c++的函

2017-08-09 10:48:39 319

翻译 函数重载(函数多态)

函数的默认参数可以令我们使用具有不同参数数目的同一个函数,而函数多态可以令我们使用多个相同名称的函数。多态指的是多种形式,函数多态允许函数具有多种形式。c++使用上下文来确定使用的重载函数版本。函数重载1. c++允许定义名称相同的函数,前提是他们的特征标不同,即参数数目或参数类型不同。 例如,定义一组原型如下的函数:void print(const char * str , int width)

2017-08-08 14:47:07 682

原创 函数的默认参数

默认参数指的是当函数调用中省略了实参时,自动使用的一个值例如,如果将函数 void wow(int n) 设置成 n 默认值为1,则调用函数 wow ( ) 相当于 wow(1) 1.如何设置默认值?必须通过函数原型。例如,函数 left ( ) 的原型如下,此函数输入一个字符串,并返回字符串的前 n 个字符:char* left( const char* str ,int n=1);由于该函数返回

2017-07-13 14:38:07 2340

翻译 引用变量二

引用用于结构引用非常适合于结构和类。引入引用主要是为了用于这些类型的,而不是基本的内置类型。使用结构引用参数的方式与使用基本变量的方式相同,只需在声明结构参数时使用引用运算符&即可。例如,struct free_throws{ std:string name; int made; int attempts; float percent;}则可以这样编写函数的原型,

2017-07-10 08:42:17 172

翻译 引用变量一

c++新增了一个复合类型-引用变量。引用是已经定义的变量的别名(另一个名称)。引用的主要用途是用作函数的形参,通过将引用变量用作参数,函数将使用原始数据,而不是其副本。1.创建引用变量c和c++使用&符号来表示变量的地址,c++给&符号赋予了另一个含义,将其用来声明引用变量。例如,将rodents用作变量rats的别名,可以这样做:int rats;int & rodents=rats;其中,in

2017-07-07 09:39:48 211

翻译 函数之内联函数

内联函数:定义:内联函数是c++为提高程序运行速度所进行的一项改进。常规函数与内联函数之间的区别不在于编写方式,而在于c++编译器如何将他们组合到程序里。c++函数的编译代码与其他程序的代码“内联”了起来,也就是说,编译器将使用相应的函数代码代替函数调用。对于内联函数,程序无需调到另一个位置处执行代码,再跳回来,因此,内联函数比常规函数运行速度要快。使用:要使用这项特性,必须采取以下措施之一:在函

2017-07-07 08:38:36 311

翻译 图片无缝向右滚动

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <style type="text/css"> #demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;width: 500px

2017-06-30 16:47:45 464

原创 图片无缝向下滚动

亲测有效<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <style type="text/css"> #demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;height:

2017-06-30 16:45:49 291

原创 图片无缝向上滚动

亲测有效<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <style type="text/css"> #demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;height:

2017-06-30 16:43:55 291

翻译 图片无缝向左滚动

今天从网上找到的代码片段,运行结果发现是可以实现的,记录一下,但是对于里面的某些属性还是不懂<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <style type="text/css"> #demo { background: #F

2017-06-30 16:30:36 357

原创 线性表顺序存储结构的操作

刚刚开始接触数据结构和算法,写写相关程序练习一下。今天学习了线性表的顺序存储结构,涉及到线性表的创建,初始化,获取元素,插入元素的操作,后续操作随后记录。/************************************************线性表的顺序存储结构,使用一维数组实现************************************************/#in

2017-06-28 10:11:58 256

翻译 函数指针

函数也有地址。函数的地址是存储其机器语言代码的内存的开始地址。函数指针的基础知识假设设计一个名为estimate()的函数,用来估算编写指定行数的代码所需的时间,并且希望不同程序员都可以使用该函数,对于所有用户来讲,estimate()中的一部分代码是相同的,但该函数允许每个程序员提供自己的算法来估算时间。为了 实现这个目的,采用的机制是,将程序员要使用的算法函数的地址传递给estimate()。为

2017-06-27 10:28:55 325

原创 数据库系统

数据库系统简单栗子:

2017-06-23 19:59:51 308

原创 递归

c++函数有一种有趣的特点——可以自己调用自己,称为递归。 * 包含一个递归调用的递归 如果递归函数调用自己,那么被调用的函数也将调用自己,这将导致无限死循环,除非代码中包含终止调用链的程序。通常是将递归放在if语句中。格式:void recurs(argumentList){ statements1; if(test) { recurs(arguem

2017-06-20 11:23:31 251

翻译 函数和array对象

程序示例:假设要求保存一年内四个季度的开支信息,并进行显示#include <iostream>#include <array>//array模板类头文件#include <string>using namespace std;const int SEANUM=4;const array<string,SEANUM>seasons={"Spring","Summer","Fall","Wi

2017-06-19 20:59:27 177

翻译 函数和string对象

程序示例:声明一个string对象,并将其传递给一个函数进行内容显示#include <iostream>#include <string>const int SIZE=5;using namespace std;void show_string( const string arr[],int n);int main(){ string list[SIZE]; for (

2017-06-19 16:05:53 211

原创 函数和结构

为结构编写函数比为数组编写函数更简单,虽然,结构变量和数组一样,都可以存储多个数据项,但在涉及到函数时,结构变量的行为更接近普通基本变量,也就是说,与数组不同,结构将其数据组合成单个实体或数据对象,该实体被视为一个整体,可以将结构赋给另一个结构,也可以按值传递结构,就像普通变量一样。在这种情况下,结构使用的是原始数据的副本。另外,函数也可以返回结构,与数组不同,数组名表示为数组第一个元素的地址,而结

2017-06-16 11:09:32 442

翻译 函数和数组的小知识点笔记

1.函数使用指针来处理数组程序示例一:#include <iostream>using namespace std;int sumFun(int arr[],int count);const int SIZE = 10;int main(){ int sum=0; int array[SIZE]={1,2,3,4,5,6}; sum=sumFun(array,SIZ

2017-06-12 19:37:38 274

原创 区分css的height、offsetHeight、clientHeight

贴出网上搜到图片,理解一下

2017-05-25 15:07:48 372

原创 简单地文件输入\输出

1、写入到文本文件对于文件输入,c++使用类似于cout的东西。先复习一些有关将cout用于控制台输出的基本事实,为文件输出做准备。 控制台输出:必须包含头文件iostream。头文件iostream定义了一个用于处理输出的ostream类。头文件 iostream声明了一个名为cout的ostream对象。必须指明名称空间std;结合使用cout和<<来显示各种类型的数据。文件输

2017-05-23 10:16:26 393

原创 c++primer plus字符库函数和条件运算符

1 字符库函数cctypec++从c语言那儿继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数原型是在头文件cctype中定义的。具体函数定义见书P1792 ?:运算符即条件运算符它是c++中唯一一个需要三个操作数的运算符,通用格式如下:express1 ? express2 : express3如果express

2017-05-22 10:32:54 262

原创 c++primer plus学习笔记之while循环 类型别名 延时clock()

1:while循环是没有初始化和更新部分的for循环,它只有测试条件和循环条件while (test-condition)body首先计算圆括号内的测试条件,如果该表达式为true,则执行循环体中的语句,直到测试条件为false为止。2:编写延时程序c++中有一个函数有助于完成这样的工作。这个函数名字为clock(),返回程序开始执行后所用的系统时间。此时,出现两个问题,首先,

2017-04-27 20:24:36 428

原创 c++ primer plus 之for循环

1:for循环组成部分①设置初始值;②执行测试,看看循环是否应当继续进行;③执行循环;④更新用于测试的值;例如,for (i=0;i<10;i++){...};2:c++常用的方式是,在for和括号之间加上空格,而省略函数名与括号之间的空格,对于其他控制语句(如if和while),处理方式相同。另外,缩进for循环体,使它看起来更显著。3:递增运算符(++)和递减运算

2017-04-22 10:56:57 250

原创 c++ primer plus复合类型之数组的代替品

1:模板类vector模板类vector是一种动态数组,可以在运行阶段设置 vector对象的长度,末尾添加数据,还可在中间插入新数据。基本上,它是使用new创建动态数组的替代品。模板类vector的使用方法:①包含头文件vector;②包含名称空间std;③模板使用不同的语法指出它存储的数据类型;④使用不同的语法指出存储元素的个数;一般而言,下面的声明创建一个名为vt

2017-04-21 09:31:24 241

原创 c++primer plus之如何处理内存

根据分配内存的方法,c++有三种管理数据内存的方式:自动存储,静态存储和动态存储。在存在时间的长度方面,这三种方式分配的数据对象各不相同。1:自动存储在函数内部定义的常规变量使用自动存储,被称为自动变量,在所属函数被调用时存在,该函数结束时消亡。自动变量是一个局部变量,其作用域为包含它的代码块。自动变量通常存储在栈中,执行代码块时,其中的变量将依次加入到栈中,而在离开代码块时,将按照相反的

2017-04-20 11:05:21 178

原创 c++primer plus复合类型之指针2

使用new创建动态结构在运行时创建数组优于在编译时创建数组,对于结构亦如此。可以在程序运行时为结构分配所需要的空间,通过使用new运算符实现。创建步骤分两步进行:1:创建动态结构:需要同时使用结构类型和new运算符。例如,创建一个未命名的inflatable类型,将其赋值给指针,inflatable* pt = new inflatable ;这种句法和c++内置类型用法相同。

2017-04-20 10:26:03 486

原创 c++primer plus复合类型之指针

指针是一个变量,其存储的是值的地址,而不是值本身。了解:在讨论指针之前,我们先看一看如何找到常规变量的地址,只需对变量应用地址运算符&,就可以获得他的位置,例如int cups=6;double donuts=4.5;cout<<"cups value="<<cups<<endl;cout<<"and cups adress="<<&cups<<endl;cout<<"donuts

2017-04-15 10:48:53 338

mat数据换成txt

此程序将MATLAB中的mat类型数据换换成txt类型的数据,方便实用,亲测有效

2018-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除