c/c++
文章平均质量分 65
wangchuang2017
天下才子,中州过半
惟楚有才,于斯为盛
实事求是,知行合一
师者,所以传道,授业,解惑也
展开
-
关于(++i)+(++i)+(++i)与(++i)+(i++)与(i++)+(++i)
关于(++i)+(++i)+(++i)与(++i)+(i++)与(i++)+(++i)祈祷ovo于 2020-10-22 19:57:48 发布491收藏 3分类专栏: C/C++版权C/C++专栏收录该内容11 篇文章4 订阅订阅专栏1.(++i)+(++i)+(++i)(++i)映射的是i的最终值,当前两个操作数都送进寄存器中时,此时i的最终值已经是3,那么(++i)+(++i)+(++i)就相当于3+3+4为102.(++i)+(i++)(i++)映射的是.原创 2022-03-04 10:57:24 · 898 阅读 · 0 评论 -
什么是C语言
什么是C语言对于大部分的程序员来说,C语言是学习编程的第一门语言,也称入门级的编程语言,基础语言,很少有不了解C语言的程序员。C语言除了可以给你带来编程的相关概念,还带你走进编程的大门,能让你明白程序的运行原理,如:计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,这些底层知识决定了你的发展高度,也决定了你的职业生涯。如果你希望成为出类拔萃的人才,而不仅仅是个码农,这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会很快上手,网上流传的7 天了原创 2021-09-18 17:35:41 · 1027 阅读 · 0 评论 -
什么是编程语言
什么是编程语言在我们学习编程语言之前,首先要知道「编程语言」这个概念。就像小时候,你饿了,想要吃饭,那么你会对父母说:妈咪,我饿了,再如你想吃红烧肉,那么你会对母亲说:妈咪,我饿了,想吃红烧肉,母亲则先去冰箱看下有没有红烧肉,如果没有,就去菜市场买菜,如果有,则直接从冰箱拿出红烧肉去烹饪。我们说的是汉语,是“中国语言”,我们想要的需求,用汉语告诉父母,父母就会知道,我们用“中国语言”来控制父母,让父母做我们想要的事情,当然父母也会根据一定的条件,拒绝你,然后告诉你原因,这就是用原因来“控制”某些事原创 2021-09-18 17:32:25 · 326 阅读 · 0 评论 -
如何编译和运行C++程序
如何编译和运行C++程序C++和C语言类似,也要经过编译和链接后才能运行。我们在C语言课程的时候,讲了如何使用 VS、VC 6.0、VC++2010等常见开发工具,它们除了可以运行C语言程序,也可以运行 C++ 程序,步骤都是一样的,要注意的是 C++ 源文件后缀名是.cpp。C/C++ 代码编译生成可执行文件:C++源文件的后缀C语言源文件的后缀在不同的编译器下都是.c。C++ 源文件的后缀根据不同的编译器,所对应的后缀名也不一样: 编译器 .原创 2021-09-18 16:35:19 · 9869 阅读 · 0 评论 -
C语言面向过程与C++面向对象
C语言面向过程与C++面向对象一、面向对象与面向过程的区别面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如我们玩的五子棋,面向过程的设计思路就是分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤原创 2021-09-07 07:58:22 · 1654 阅读 · 0 评论 -
C++类和对象
类和对象C++是一门面向对象的编程语言,想要学好 C++,就要理解类(Class)和对象(Object)这两个概念。C++中的类(Class)和C语言中的结构体(Struct)相似。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质,例如(C语言中的结构体代码):#include<stdio.h>//定义结构体StudentstructStudent{//结构体包含...原创 2021-09-06 21:06:37 · 259 阅读 · 0 评论 -
linux环境上c++ boost安装boost_1_67_0.tar
编译安装wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gzgzip -dv boost_1_67_0.tar.gztar -zxvf boost_1_67_0.tar./boostrap.sh --help./bootstrap.sh./b2 install默认安装在/usr/local的lib, include中示例g++ -o first first.cpp -lb...原创 2021-01-26 21:12:46 · 841 阅读 · 0 评论 -
学习C++ 丨 类(Classes)的定义与实现!C/C++必学知识点!
一、"类" 的介绍在C++中, 用 "类" 来描述 "对象", 所谓的"对象"是指现实世界中的一切事物。那么类就可以看做是对相似事物的抽象, 找到这些不同事物间的共同点, 如自行车和摩托车, 首先他们都属于"对象", 并且具有一定得相同点, 和一些不同点, 相同点如他们都有质量、都有两个轮子, 都是属于交通工具等。"都有质量"、"两个轮子"属于这个对象的属性, 而"都能够当做交通工具"属于该对象具有的行为, 也称方法。类是属于用户自定义的数据类型, 并且该类型的数据具有一定的行为能力, 也就是...原创 2021-01-25 13:22:01 · 387 阅读 · 0 评论 -
C++ 类 和 对象!
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类被称为类的成员。C++ 类 定义定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。类定义是以关键字class开头,后跟类的名称。类的主..原创 2021-01-25 13:17:10 · 104 阅读 · 0 评论 -
C语言实现九九乘法表共9行9列,重点考察for循环的掌握情况!
有很多小伙伴私信我说需要九九乘法表的代码,所以我就整理出了下面给出了输出完整乘法表、右上、右下、左上、左下乘法表的代码。【代码一】输出正方形:运行结果:【代码二】输出右上三角形和左上三角形:运行结果:去掉八个空格后的运行结果:【代码三】输出右下和左下三角形:运行结果:去掉循环后的运行结果:...原创 2021-01-25 13:16:15 · 1340 阅读 · 0 评论 -
makefille的使用
原创 2021-01-02 16:46:21 · 133 阅读 · 0 评论 -
在Linux系统下编译并执行C++程序
引言为什么要在Linux下写程序?首先要问一下自己,为什么要写这个程序。如果我们写一个运行在windows平台的应用程序,那么用Linux写肯定是傻瓜或者强迫症,因为在windows平台调试windows程序可以更容易发现并解决问题,反过来也一样,在Linux平台调试出来的程序可以更好的适应Linux平台的环境,如果在windows下写出一个程序,结果到了Linux的运行环境出了暗病,那真是欲哭无泪,无从查起。而很多时候,我们的程序都不是运行在windows平台的,例如嵌入式设备的内存容量十分有限原创 2020-12-31 22:38:05 · 711 阅读 · 0 评论 -
JAVA和C语言的区别
JAVA和C语言的区别(2010-02-02 00:00:00)转载▼ 标签: java和c 杂谈 分类:日志 JAVA和C语言都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继承,多态)。而由于C语言为了照顾大量的C语言使用者,而兼容了C语言,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言...原创 2020-12-21 17:35:47 · 2046 阅读 · 1 评论 -
C# C++ Java
C#是什么?C#发音为“C-Sharp”。它是由Microsoft开发提供的面向对象的编程语言,它在.Net Framework上运行。我们可以使用C#编程语言开发不同类型的安全和强大的应用程序,这些应用程序包括:窗口应用程序 Web应用程序 分布式应用 Web服务应用程序 数据库应用等 C# 是被ECMA和ISO认可为标准。 C# 是为CLI(通用语言基础设施)设计的。 CLI是描述可执行代码和运行时环境的规范。 C# 编程语言的语法和设计思想受C++,Java,E原创 2020-12-12 20:46:10 · 534 阅读 · 0 评论 -
谭浩强《C++程序设计》学习
谭浩强《C++程序设计》学习zdh19952017-10-12 15:54:565613收藏251文章标签:c++版权C++不要把面向对象和基于过程对立起来,面向对象和基于过程不是矛盾的,而是各有用途、互为补充的。 学习C++,既要学会利用C++进行基于过程的结构化程序设计,也要会利用C++进行面向对象的程序设计。目录C 目录 C语言与C之间的区别 一C基于过程的程序设计 1简单程序实例 2C程序的实现过程 3变量 1 变...原创 2020-12-07 09:51:38 · 472 阅读 · 0 评论 -
C语言重点——指针篇(一篇让你完全搞懂指针)
C语言重点——指针篇(一篇让你完全搞懂指针)一. 前言C语言是比较偏底层的语言,为什么他比较偏底层,就是因为他的很多操作都是直接针对内存操作的。这篇我们就来讲解C语言的一大特点,也是难点,指针和指针操作。这篇文章我会先从基本类型的存储过程和原理讲起,然后再讲解指针int *p,再举一反三,搞懂int **p和int ***p,学会指针。搞懂int *p,int **p和int ***p,完全学会指针!!!!二. 理解一个变量的存储过程和原理(必须清楚掌握)2.1 直接'='赋值原创 2020-09-11 13:13:11 · 1211 阅读 · 1 评论 -
strtok()函数详解
#include <string.h>#include <stdio.h>int main () { char str[80] = "This is-www.runoob.com-website"; const char s[2] = "-"; char *token; /* 获取第一个子字符串 */ token = str...原创 2019-12-02 20:11:42 · 160 阅读 · 0 评论 -
C++中的虚函数表指针(dog,cat)
#include<iostream>#include<string>using namespace std;class Canimal{protected: string mname;public: Canimal(string name):mname(name){ } virtual void bark()=0;};cla...原创 2019-11-07 11:25:31 · 458 阅读 · 0 评论 -
编译链接的全过程
我们知道一个.c, .cpp文件到可执行文件经历了4个阶段:预编译,编译,汇编,链接;下面就介绍一下各个过程的完成的工作预编译1:将所有的#define删除,并展开所有的宏定义;2:处理所有的预编译指令,例如:#if,#elif,#else,#endif;3:处理#include预编译指令,将被包含的文件插入到预编译指令的位置;4:添加行号信息文件名信息,便于调试;5:删除所有的注释...原创 2019-11-07 10:05:39 · 233 阅读 · 0 评论 -
C语言:值传递
C语言:值传递C语言函数传参是采用值传递的方式:1-1int swap( int a, int b ){ int c = a; b = a; a = c;}int swapp( int *a, int *b ){ int c = *a; *a = *b; *b = c;}int...原创 2019-10-18 11:26:53 · 805 阅读 · 0 评论 -
更改Ubuntu gcc、g++默认编译器版本
更改Ubuntu gcc、g++默认编译器版本转一篇文章:升级Ubuntu到11.10,但在编译Android的时候出错了。这个Android在升级系统之前编译是没有错误的,对比发现升级到Ubuntu 11.10后gcc、g++的版本都是4.6.1。而升级之前的版本是4.4.6。我想多半原因就在这里了。要想解决问题需要更改Ubuntu gcc、g++默认编译器版本。google一把发现有两...原创 2019-11-03 10:59:17 · 901 阅读 · 0 评论 -
Linux下安装和使用boost库
Linux下安装和使用boost库2016-08-26 20:29:06zhaomax阅读数 349更多分类专栏:C++用boost库中的serialization库。Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用。下面记录一下今天的安装和使用过程(整个boost库全部安装):一、安装boost:(1)到www.boost.o...原创 2019-10-12 08:50:46 · 2142 阅读 · 0 评论 -
编译报错"field has incomplete type"
linux下编译C++代码报错,报错信息"field has incomplete type"。这种问题一般都是在头文件对类或者结构体进行了前向声明,后面使用了该类定义了对象,导致编译报错。原因在于前向声明类或者结构体,此时编译器还不知道定义,无法知道类内部成员,所以无法构造实例对象,因此前向声明的类或者结构体只能用来定义指针或者引用。示例代码:class TFriger;tem...原创 2019-10-08 16:25:24 · 1095 阅读 · 0 评论 -
使用linux服务器怎么编译c++
1.查看版本 g++ -v2.gcc iterative.cpp -o iterativeg++ -Wall iterative.cpp -o iterative原创 2019-10-10 10:15:10 · 453 阅读 · 0 评论 -
Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
Dev-Cpp\MinGW64\x86_64-w64-mingw32\include原创 2019-10-10 15:00:30 · 12010 阅读 · 1 评论 -
逆序
package prj5;public class reverse { public static void main(String[] args) { // TODO Auto-generated method stubint[] list={1,2,3,4 };int[] list2=reverse(list);for(int i=0;原创 2018-07-10 09:31:31 · 228 阅读 · 0 评论 -
程序编译是出现"field has incomplete type"问题的解决
类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序段只能使用声明对象的引用或者指针。在显式声明异常规范的时候不能使用incomplete type。...原创 2019-10-08 16:23:32 · 32241 阅读 · 6 评论 -
Boost--Graph
图论是一种数学抽象,它对于解决多种计算机科学问题是非常有用的, Boost.Graph提供了一个基于图论的通用编程接口. Boost.Graph是一个图的封装,在《数据结构》的教科书里,一般都会讲到数组、链表、队列、堆栈、堆、树、图论等。其中前面几个已经在C++标准库(STL)中实现了(如vector,list,stack,queue,heap等),却没有提供一个与树或图...原创 2019-09-26 18:25:45 · 473 阅读 · 1 评论 -
【编译】makefile使用
本文重在记录makefile的使用方法,不介绍相关原理。注意:所有的makefile指令前面都需要两个 Tab缩进1.初步使用创建工作目录,工作目录下创建如下两个文件:main.c#include <stdio.h>int main(){ printf("打印\n");}makefile 或 Makefileapp : main.o c...原创 2019-09-25 15:29:29 · 231 阅读 · 0 评论 -
makefile:2: *** missing separator. Stop. make 之后出现的错误,解决方法
问题今天建立了个个helloworld.c 以及Makefile文件.hellworld.c 中内容如下:#include<stdio.h>int main(){printf("hello world\n");return 0;}Makefile中的内容如下:hello:helloword.c gcc -o hello helloword.c...原创 2019-09-25 11:46:23 · 731 阅读 · 0 评论 -
Makefile
概述make 是一个命令工具,它用来解释 Makefile 中的规则。Makefile 中可以使用系统 shell 所提供的任何命令。但注意有些像 set,setenv 等是不行的。Makefile 最大的优点是简单,只需要一句话的解释就可以让一个之前不懂的人可以用起来并发挥作用。但只有掌握了它的内涵才能真正得心应手。编译的知识Makefile 开始其实是为了 C/C++的编译而诞生...原创 2019-09-24 21:30:43 · 693 阅读 · 0 评论 -
Linux下运行.cpp文件
如何在Ubuntu16下运行一个简单的.cpp文件呢,做法如下:假设我在桌面上写了一个hell,world程序;保存为abc.cpp然后在终端打开:1.点击保存的文件的属性,看在哪里,我的是在桌面上,打开终端后输入:cd /home/xiejiang/桌面2.进入了桌面:3.输入:第一行命令输完了会在桌面上生成一个名为abc的文件,则用./abc即可...原创 2019-09-17 20:36:55 · 16569 阅读 · 1 评论 -
DEV-C++设置C++11标准
DEV-C++默认的标准是C++98,改成C++11的方法如下:Tools -> Compiler Options -> Setting -> Code Generation -> Language standard(-std),选ISO C++11。原创 2019-10-10 15:04:45 · 5376 阅读 · 1 评论 -
c++中.hpp文件的使用
1. c++中的 .h .cpp .hpp文件的作用.h放声明,.cpp放实现,.hpp就是声明与实现在一起,比如模块类。。2.c++中什么时候使用.hpp文件分文件编写类模板类模板的声明和定义要写在一个.hpp文件中,声明和定义不可以分开,因为分文件的话,main.cpp中只引入.h,在类模板进行二次编译的时候,无法找到类的定义,会出错。所以要将其声明和定义放到一个头文件...原创 2019-10-10 15:32:29 · 20117 阅读 · 2 评论 -
手把手教你怎么在linux安装c++编译器
linux上的C++编译器叫g++,g++是gcc的一部分,默认情况下,我们的gcc编译器是没有安装的,这时就需要我们手动安装了。 我们先来查找下gcc包。 yum search gcc 可以看到查询结果,C++的gcc编译器包名为gcc-c++ 这时就好办了,我们直接安装gcc-c++ yum install gcc-c++ -y 安装完之后,我...原创 2019-10-10 15:39:40 · 17127 阅读 · 2 评论 -
Bicolor中的README.md
BicolorBi-level error correction for PacBio long readsCompilemake allRun1. sh runCorr.sh2. sh runCombine.shTips GATB should be installed. Please see http://gatb-core.gforge.inria.fr....原创 2019-10-11 19:37:33 · 146 阅读 · 0 评论 -
Bicolor软件 中 GATB
http://gatb-core.gforge.inria.fr/doc/api/download_page.html#downloadhttps://github.com/GATB/gatb-core/releases# #提示1.应该安装GATB。请参阅http://gatb-core.gforge.inria.fr。安装之后,文件*Makefile*中...原创 2019-10-11 10:32:32 · 183 阅读 · 0 评论 -
Boost C++ 库
http://zh.highscore.de/cpp/boost/frontpage.htmlBoost C++ 库目录第1章简介 第2章智能指针 第3章函数对象 第4章事件处理 第5章字符串处理 第6章多线程 第7章异步输入输出 第8章进程间通讯 第9章文件系统 第10章日期与时间 第11章序列化...原创 2019-11-03 11:00:09 · 235 阅读 · 0 评论 -
boost安装(windows、linux)
boost安装(windows、linux)boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库。boost安装(vs2017+boost_1_64_0+win10)1、到官网下载boost,http://www.boost.org/2、解压,解压到d:\boost目录下,这个解压到自己认为合适的目录就行。3、环境配置VS2017更加注重跨平台性,安装文...原创 2019-10-11 10:57:17 · 516 阅读 · 0 评论 -
Boost库的使用
fatal error C1083: 无法打开包括文件:“boost/shared_ptr.hpp”: No such file or directory在编译别人的程序时遇到这种问题,显然,是我没有下载安装boost库。Boost库:Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。它由C++标准委员会部分成员所设立的B...原创 2019-10-10 18:02:21 · 433 阅读 · 0 评论