-
从C语言过渡到C++之基本变化
所属栏目:[经验] 日期:2020-12-31 热度:97
说到C++和C语言的区别,大部分人都会想到面向对象和面向过程。然而这种说法并不准确。面向对象和面向过程指的是两种不同的程序设计思想,而C++与C是两种编程语言,难道C++就不能用于面向过程去解决问题吗,当然可以。而面向对象的设计思想也可以用到C语言中[详细]
-
从C语言过渡到C++之const
所属栏目:[经验] 日期:2020-12-30 热度:183
1. 定义常量 1.1 C语言中定义常量的方法 在C语言从零开始这个系列中,我们讲了C语言定义常量的方法。没有看过的同学请参考:C语言从零开始(五)-常量lt;stdio.h#define SUM 5 + 1;void main(){ int a = 2 * SUM; printf("%d",a);} 经常有人答12,其实结果是[详细]
-
C++ 单例模式的详解及实例
所属栏目:[经验] 日期:2020-12-30 热度:112
C++ 单例模式的详解及实例 1.什么叫单例模式? 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输[详细]
-
从C语言过渡到C++之引用(别名)
所属栏目:[经验] 日期:2020-12-30 热度:71
今天要讲的是C++中我最喜欢的一个用法――引用,也叫别名。 引用就是给一个变量领取一个变量名,方便我们间接地使用这个变量。我们可以给一个变量创建N个引用,这N + 1个变量共享了同一块内存区域。 1. 声明引用 创建引用的格式如下: 数据类型 引用名 = 原[详细]
-
浅谈C++11新引入的lambda表达式
所属栏目:[经验] 日期:2020-12-30 热度:135
ISO C++ 11 标准的一大亮点是引入Lambda表达式。基本语法如下: [capture list] (parameter list) -return type { function body } 简单的讲一下各个部分的作用 1.[capture list]捕获列表,捕获到函数体中,使得函数体可以访问 2.(parameter list)参数列表,[详细]
-
c++ 预处理的图灵完备之引言
所属栏目:[经验] 日期:2020-12-30 热度:114
我们还是来讨论c++吧,这几年在c++里面玩代码自动生成技术,而预处理是不可避免,也是不可或缺的重要工具。虽然boost pp预处理库在宏的运用上很是完善,但是代码也太多了,而且代码很不好理解,对此,不免让人疑惑,有必要搞得那么复杂,搞那么多代码吗?并[详细]
-
C++数据结构之文件压缩(哈夫曼树)实例详解
所属栏目:[经验] 日期:2020-12-30 热度:135
C++数据结构之文件压缩(哈夫曼树)实例详解 概要: 项目简介:利用哈夫曼编码的方式对文件进行压缩,并且对压缩文件可以解压 开发环境:windows vs2013 项目概述: 1.压缩 a.读取文件,将每个字符,该字符出现的次数和权值构成哈夫曼树 b.哈夫曼树是利用小[详细]
-
C语言中调用Swift函数实例详解
所属栏目:[经验] 日期:2020-12-30 热度:193
C语言中调用Swift函数实例详解 在Apple官方的《Using Swift with Cocoa and Objectgive-C》一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中使用Objective-C中的类。在后半部分也介绍了如何在Swift中使用C函数,不过对于如何在C语言中[详细]
-
C++标准库bitset类型的简单使用方法介绍
所属栏目:[经验] 日期:2020-12-30 热度:200
std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。 #includebisterusing std::bitset; 一句话定义:可自定义位数,用作记录二进制[详细]
-
C++中的内存对齐实例详解
所属栏目:[经验] 日期:2020-12-30 热度:143
C++中的内存对齐实例详解 内存对齐 在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。 我们还是先来看一段简单的程序: 程序一 #include iostream using namespa[详细]
-
浅谈C++ Socket编程
所属栏目:[经验] 日期:2020-12-30 热度:133
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。 服务器端编程的步骤: 1:加载套接字库,创建套接字(WSAStartup()/socket()); 2:绑定套接字到一[详细]
-
C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历)
所属栏目:[经验] 日期:2020-12-30 热度:84
C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历) 二叉树的性质: 二叉树是一棵特殊的树,二叉树每个节点最多有两个孩子结点,分别称为左孩子和右孩子。 例: 实例代码: #include iostream #include Windows.h #include stack using namespace std; t[详细]
-
数据结构与算法 排序(冒泡,选择,插入)
所属栏目:[经验] 日期:2020-12-30 热度:112
数据结构与算法 排序(冒泡,选择,插入) 1.冒泡排序 1.1算法 冒泡排序(buddle-sort)算法的运作如下:(从后往前) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最[详细]
-
C语言正则表达式操作示例
所属栏目:[经验] 日期:2020-12-30 热度:155
本篇章节讲解C语言正则表达式操作。供大家参考研究具体如下: #include stdio.h#include sys/types.h#include regex.hint main(int argc,char**argv){ int status; int i; int cflags = REG_EXTENDED; regmatch_t pmatch[1]; const size_t nmatch[详细]
-
分享一下8年C++面向对象设计的经验体会
所属栏目:[经验] 日期:2020-12-30 热度:129
六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计[详细]
-
C语言数据结构实现链表去重的实例
所属栏目:[经验] 日期:2020-12-30 热度:107
C语言数据结构实现链表去重的实例 题目及分析 链表去重 时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard 给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点。即对任意键值K,只有键值或其绝对值等于K[详细]
-
VC++ 字符串String MD5计算小工具 VS2008工程
所属栏目:[经验] 日期:2020-12-30 热度:161
基于字符串加密的MD5算法,VS2008 VC++,多字节编译工程。主要代码如下,实现了ANSI字符串加密与Unicode字符串加密。 运行效果如下: 核心代码: void CEncryptByMd5Dlg::OnButtonOk() { // TODO: Add your control notification handler code here UpdateDa[详细]
-
荐书|程序员书单必不可少系列之算法篇
所属栏目:[经验] 日期:2020-12-30 热度:106
前言 又到了给大家“荐书”的时候了,如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法。最近参加了很多线下的会议,发现一个点,就是不管什么技术主题的大会,人们都[详细]
-
c++ 预处理之正整型实现方法
所属栏目:[经验] 日期:2020-12-30 热度:68
虽然通过一系列的奇技淫巧,让预处理也图灵完备一把,但是用预处理来做计算,真的很吃力不讨好。因为预处理一开始设计出来的目的,就没什么野心,原本就仅仅只是为了做简简单单的文本替换工作,并没有想过要成为正儿八经的编程语言,即便是最最缩水版脚本语[详细]
-
C语言实现2048小游戏
所属栏目:[经验] 日期:2020-12-30 热度:199
本文实例为大家分享了C语言实现2048小游戏的具体代码,供大家参考,具体内容如下 具有以下特点: 1.linux下完成 2.非堵塞键盘读取 3.随机生成2和4 #include stdio.h #include stdlib.h #include unistd.h #define TTY_PATH "/dev/tty" #define STTY_ON "stty[详细]
-
C++ 智能指针的模拟实现实例
所属栏目:[经验] 日期:2020-12-30 热度:199
C++ 智能指针的模拟实现实例 1.引入 int main(){ int *p = new int; //裸指针 delete p; return 0;} 在上面的代码中定义了一个裸指针p,需要我们手动释放。如果我们一不小心忘记释放这个指针或者在释放这个指针之前,发生一些异常,会造成严重的后果(内存泄[详细]
-
Linux中出现“No space left on device”错误的排查与解决方法
所属栏目:[经验] 日期:2020-12-26 热度:194
前言 最近这两天登陆服务器,发现用 wget 下载文件的时候提示“No space left on device”,而且连使用 tab 键进行补全时也会提示该错误。 之前遇到过一次这种问题,是由于磁盘空间被占满了,导致无法创建新文件。正常情况下,删除一些文件来释放空间,即可[详细]
-
Linux ftp 命令行中下载文件get与上传文件put的命令应用详解
所属栏目:[经验] 日期:2020-12-26 热度:171
介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo。以下为使用该连接做的实验。 查看远程ftp服务器上用户peo相应目录下的文件所使用的命令为:ls,登录到ftp后在ftp命令提示符下查看本地机器用户[详细]
-
C语言顺序表的实现代码
所属栏目:[经验] 日期:2020-12-26 热度:54
本文实例为大家分享了C语言实现顺序表的具体代码,供大家参考,具体内容如下 seqlist.h #ifndef __SEQLIST_H__#define __SEQLIST_H__#includecstdio#includemalloc.h#includeassert.h#define SEQLIST_INIT_SIZE 8#define INC_SIZE 3 //空间增量的大小typedef[详细]
-
C++ 中cerr和cout的区别实例详解
所属栏目:[经验] 日期:2020-12-26 热度:111
C++ 中cerr和cout的区别实例详解 前言: cerrThe object controls unbuffered insertions to the standard error output as a byte stream. Once the object is nstructed,the expression cerr.flags nbsp; Example // iostream_cerr.cpp// compile with: /E[详细]
