C++_IT技术网

Linux操作系统下C++编程初探

Linux下C++编程和在Windows下的没有什么两样,它同样需要编译、链接、调度、运行等步骤,只不过执行这些步骤在两种操作系统下所做的不是同样的事情。 在Windows下有TC, BC, VC等编译器,它们极大地方便了程序的编辑编译等,在Windows下你只需要看明白菜单就可以了。而...

日期:2017-03-08 23:45:31

点击:124

C和C++语言学习总结

C和C++语言学习总结(资料来自 高质量C++/C 编程指南 林锐博士 2001 年7 月24) 知识结构: 1、if,for,switch,goto 2、#define,const 3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof 4、函数参数传递,内存分配方式,内存错误表现,malloc与new区...

日期:2017-03-08 23:44:51

点击:268

C++详解默认参数的构造函数及简单实例代码

现在给大家介绍下 有默认参数的构造函数: 大家知道函数获取形参的时候是通过函数调用时在实参里获得的,因此我们必须保证 实参的个数 和 形参的个数必须相同。而且有些情况下我们对于实参或许都是个固定的值。例如 我们需要计算长方形的面积 长x宽 但是用户可以...

日期:2017-03-08 23:44:09

点击:131

Effective C++:sizeof

sizeof运算符: 返回一条表达式或者一个类型名字所占的字节数.返回值得类型为std::size_t. 主要有以下两种形式: sizeof (type); sizeof expr; 在sizeof的运算对象中解引用一个无效的指针仍然是一种安全的行为,因为指针实际上并没有被正在的使用。sizeof不需要...

日期:2017-02-09 16:29:01

点击:242

C++简介

C++ 简介 C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。 C++ 被认为是一种 中级 语言,它综合了高级语言和低级语言的特点。 C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山...

日期:2017-02-09 05:02:56

点击:206

怎么Python调用C++的DLL

import os import sys from ctypes import * test = cdll.LoadLibrary(D:\Python27\py.dll) print test.Add(1, 2) test.Echo(hello dll) mypath = sys.argv[1] if not os.path.exists(mypath): print The path %s does not exist! % mypath sys.exit(2) for...

日期:2017-01-22 15:23:31

点击:184

Python类与继承讲解

相对于C++的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。 classMember: def__init__(self,name,age): self.name=name self.age=age printMemberinit:%s%self.name deftell(self): printName:%s,Age:%d%(self.name,self....

日期:2017-01-22 02:32:48

点击:175

关于python中多继承的介绍

python和C++一样,支持多继承。概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性。 classP1 deffoo(self): printp1-foo classP2 deffoo(self): printp2-foo def...

日期:2017-01-22 02:30:13

点击:60

C++环境设置

本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑器的名称...

日期:2017-01-22 01:30:59

点击:184

C++基本语法

C++ 基本语法 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。...

日期:2017-01-22 01:30:20

点击:61

C++注释

C++ 注释 程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。 C++ 注释以 /* 开始,以 */ 终止。例如: /* 这是注释...

日期:2017-01-22 01:29:41

点击:131

C++ 数据类型

使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。 您可能需要存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息...

日期:2017-01-22 01:11:24

点击:85

C++变量类型

类型 描述 bool 存储值 true 或 false。 char 通常是一个八位字节(一个字节)。这是一个整数类型。 int 对机器而言,整数的最自然的大...

日期:2017-01-22 01:10:16

点击:59

C++ 变量作用域

作用域是程序的一个区域,一般来说有三个地方可以声明变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为形式参数。 在所有函数外部声明的变量,称为全局变量。 我们将在后续的章节中学习什么是函数和参数。本章...

日期:2017-01-22 01:09:32

点击:191

C++ 常量

C++ 常量 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。 常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。 常量就像是常规的变量,只不过常量的值在定义后不能进行修改。 整数常量 整数常量可以是十...

日期:2017-01-22 01:08:32

点击:205

C++修饰符类型

C++修饰符类型 C++ 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 下面列出了数据类型修饰符: signed unsigned long short 修饰符 signed、unsigned、long 和 short 可应用于整型, sig...

日期:2017-01-22 01:07:24

点击:136

C++接口抽象类

C++ 接口(抽象类) 接口描述了类的行为和功能,而不需要完成类的特定实现。 C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。...

日期:2017-01-22 01:05:49

点击:89

C++文件和流

C++ 文件和流 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型: 数...

日期:2017-01-22 01:05:07

点击:127

C++异常处理

C++ 异常处理异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。throw: 当问题出现时,程序会抛出一个异常。这是通...

日期:2017-01-22 01:03:54

点击:168

C++ 动态内存

C++ 动态内存 了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C++ 程序中的内存分为两个部分: 栈: 在函数内部声明的所有变量都将占用栈内存。 堆: 这是程序中未使用的内存,在程序运行时可用于动态分配内存。 很多时候,您无...

日期:2017-01-22 00:17:27

点击:146

C++存储类

存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类: auto register static extern mutable auto 存储类 auto 存储类是所有局部变量默认的存储类。 { int mount; auto int...

日期:2017-01-22 00:13:21

点击:166

C++运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++ 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符...

日期:2017-01-22 00:12:15

点击:105

C+ 函数

函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个...

日期:2017-01-22 00:11:47

点击:111

C++数字

通常,当我们需要用到数字时,我们会使用原始的数据类型,如 int、short、long、float 和 double 等等。这些用于数字的数据类型,其可能的值和数值范围,我们已经在 C++ 数据类型一章中讨论过。 C++ 定义数字 我们已经在之前章节的各种实例中定义过数字。下...

日期:2017-01-22 00:10:38

点击:110

C++ 字符串

C++ 字符串 C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串...

日期:2017-01-22 00:09:33

点击:58

C++模板

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。 每个容器都有一个单一的定义,比如 向量 ,我们可以定义许多不...

日期:2017-01-22 00:08:25

点击:190

C++预处理器

预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。 所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。 我们已经看到,之前所有的实例中都有 #include...

日期:2017-01-22 00:07:30

点击:108

C++实现广度优先搜索实例

首先,图的遍历是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次。注意到树是一种特殊的图,所以树的遍历实际上也可以看作是一种特殊的图的遍历。图的遍历主要有两种算法:广度优先搜索(Breadth-First-Searc...

日期:2017-01-22 00:03:01

点击:62

C++实现的各种内部排序算法汇总

提起排序算法相信大家都不陌生,或许很多人已经把它们记得滚瓜烂熟,甚至随时可以写出来。是的,这些都是最基本的算法。这里就把各种内部排序算法总结归纳了一下,包括插入排序(直接插入排序,折半插入排序,希尔排序)、交换排序(冒泡排序,快速排序)、...

日期:2017-01-22 00:02:27

点击:134

C++ 双链表的基本操作

1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 结构图如下所示: 2.基本操作实...

日期:2017-01-21 23:58:34

点击:123

Linux下通过C++调用C#程序

Linux下通过C++调用C#程序,具体代码如下: #include errno.h #include stdio.h #include stdlib.h #include unistd.h #include sys/types.h int main ( int arg , char ** args ) { int ret = 0 ; if ( fork ()== 0 ){ ret = execlp ( mono , mono , /home/...

日期:2017-01-21 23:56:27

点击:71

C++实现简单的分词功能

C++实现简单的分词功能,具体代码如下: //word.cpp:Definestheentrypointfortheconsoleapplication. // #include stdafx.h //mympseg.cpp:定义控制台应用程序的入口点。 #include iostream #include string #include list #include map using namespace std...

日期:2017-01-20 23:57:15

点击:169

C++动态内存分配方法

C++动态内存分配方法 #include stdio.h #include string.h #include stdlib.h char* upcase(char *inputstring); int main(void){ char *str1; str1 = upcase(hello); printf(str1=%s \n,str1); free(str1); return 0; } char* upcase(char *inputstring) {...

日期:2017-01-20 23:56:49

点击:77

C++使struct对象拥有可变大小的数组

首先摘录《Inside The C++ Object Model》中的一段话: 把单一元素的数组放在一个struct的尾端,于是每个 struct objects 可以拥有可变大小的数组: struct mumble { char pc[1]; }; //获取一个字符串,然后为struct本身和该字符串配置足够的内存 struct mum...

日期:2017-01-20 23:56:17

点击:253

C++ 双链表的基本操作(详解)

1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 结构图如下所示: 2.基本操作实...

日期:2017-01-20 23:55:33

点击:129

C++和java设计模式之单例模式

单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。其构造过程由自身完成,可以将构造方法定义为private型的,这样外界就只能通过定义的静态的函数Instance()构造实例,这个函数的目的就是返回一个类的实例,在此方法中去做是...

日期:2017-01-20 23:55:03

点击:168

C++实现从输入中读取字符串

你可以用这种方式读取一个单独的以空格结束的词: #includeiostream #includestring using namespace std; int main(){ cout Please enter a word:\n; string s; cins; cout You entered s \n; } 注意,这里没有显式的内存管理,也没有可能导致溢出的固定大...

日期:2017-01-20 23:54:26

点击:110

C++中的delete不会将操作数置0

考虑一下: delete p; // ... delete p; 如果在...部分没有涉及到p 的话,那么第二个delete p;将是一个严重的错误,因为C++的实现(译注:原文为a C++ implementation,当指VC++这样的实现了C++标准的具体工具)不能有效地防止这一点(除非通过非正式的预防...

日期:2017-01-20 23:44:44

点击:71

深入理解c++常成员函数和常对象

先明确几个概念: 1. 常对象只能调用常成员函数。 2. 普通对象可以调用全部成员函数。 3. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。 4. 当一个成员函数被调用...

日期:2017-01-20 23:44:09

点击:89

C++变位词问题分析

在《编程珠玑》一书的第二章提到了一个变位词问题,变位词指的是一个单词可以通过改变其他单词中字母的顺序来得到,也叫做兄弟单词,如army-mary。由变位词可以引申出几个算法问题,包括字符串包含问题,比较两个字符串是否是变位词,以及找出字典中变位词集...

日期:2017-01-20 23:43:04

点击:105