-
C语言去除相邻重复字符函数的实现方法
所属栏目:[经验] 日期:2020-12-31 热度:172
C语言去除相邻重复字符函数的实现方法 字符去重函数 功能:去重字符串相邻重复的字符,不相邻的不用去重 参数: arg1 -- 输入字符串 arg2 -- 字符串开始位置 arg3 -- 字符串结束位置 要求: 输入参数为arg1时, 对这个字符串去重 输入参数为arg1,arg2时,[详细]
-
C语言实现动态顺序表的实现代码
所属栏目:[经验] 日期:2020-12-31 热度:58
副标题#e# C语言实现动态顺序表的实现代码 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址[详细]
-
浅谈在函数中返回动态的内存
所属栏目:[经验] 日期:2020-12-31 热度:142
1、有以下题目: #include iostreamusing namespace std;void GetMemeory(char* p){ p=(char*)malloc(sizeof(char)*100);}int main(){ char *str=NULL; GetMemeory(str); strcpy(str,"Thunder"); strcat(str,"Downloader"); printf(str); system("pause");[详细]
-
浅谈do {...} while (0) 在宏定义中的作用
所属栏目:[经验] 日期:2020-12-31 热度:142
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。 下[详细]
-
关于win32 gettimeofday替代方案
所属栏目:[经验] 日期:2020-12-31 热度:175
来自nginx代码: voidngx_gettimeofday(struct timeval *tp){ uint64_t intervals; FILETIME ft; GetSystemTimeAsFileTime( /* * A file time is a 64-bit value that represents the number * of 100-nanosecond intervals that have elapsed since * Jan[详细]
-
实现一个内存池管理的类方法
所属栏目:[经验] 日期:2020-12-31 热度:63
模拟STL中的freelist,有这个思想在内。 union obj{ union obj* next; char p[1]; };class MemoryPool{ public: MemoryPool() { union obj* temp; m_memory.assign(5,(union obj*)NULL); for(int i=0;im_memory.size();i++) { for(int j=0;jm_memory.size()[详细]
-
关于C++对象继承中的内存布局示例详解
所属栏目:[经验] 日期:2020-12-31 热度:164
副标题#e# 前言 本文给大家介绍的是关于C++对象继承的内存布局的相关内容,分享出来供大家参考学习,在开始之前说明下,关于单继承和多继承的简单概念可参考此文章 以下编译环境均为:WIN32+VS2015 虚函数表 对C++ 了解的人都应该知道虚函数(Virtual Funct[详细]
-
C语言模式实现C++继承和多态的实例代码
所属栏目:[经验] 日期:2020-12-31 热度:177
这个问题主要考察的是C和C++的区别,以及C++中继承和多态的概念。 C和C++的区别 C语言是面向过程的语言,而C++是面向对象的过程。 什么是面向对象和面向过程? 面向过程就是分析解决问题的步骤,然后用函数把这些步骤一步一步的进行实现,在使用的时候进行[详细]
-
利用C++简单实现顺序表和单链表的示例代码
所属栏目:[经验] 日期:2020-12-31 热度:152
本文主要给大家介绍了关于C++实现顺序表和单链表的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 一、顺序表示例代码: #include assert.h#include iostreamusing namespace std;typedef int Datatype;class SeqList{public: SeqLi[详细]
-
KMP 算法实例详解
所属栏目:[经验] 日期:2020-12-31 热度:129
KMP 算法实例详解 KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。 分析:KMP模板题、KMP的关键是求出next的值、先预处理出next的[详细]
-
C++ 之 Asio 库(全面解析)
所属栏目:[经验] 日期:2020-12-31 热度:182
1 简介 Asio 是一个跨平台的 C++ 库,常用于网络编程、底层的 I/O 编程等 (low-level I/O),其结构框架如下: 2 使用 Asio 2.1 下载 Asio 库分为 Boost 版和 non-Boost 版,后者的下载地址为: http://think-async.com/ ,下载完成后,直接解压到合适位置[详细]
-
数据结构 双机调度问题的实例详解
所属栏目:[经验] 日期:2020-12-31 热度:96
数据结构 双机调度问题的实例详解 1.问题描述 双机调度问题,又称独立任务最优调度:用两台处理机A和B处理n个作业。设第i个作业交给机器A处理时所需要的时间是a[i],若由机器B来处理,则所需要的时间是b[i]。现在要求每个作业只能由一台机器处理,每台机器[详细]
-
C++遍历文件夹下的所有文件
所属栏目:[经验] 日期:2020-12-31 热度:186
数据分多个文件存储,读取数据就需要对多个文件进行操作。首先就需要定位到文件的名字,之后再对文件进行相应的读写操作。多次涉及多文件的读写操作,现将这个实现总结一下,方便自己和他人使用。具体代码如下: #include "stdafx.h" #include stdio.h #in[详细]
-
从C语言过渡到C++之基本变化
所属栏目:[经验] 日期:2020-12-31 热度:77
说到C++和C语言的区别,大部分人都会想到面向对象和面向过程。然而这种说法并不准确。面向对象和面向过程指的是两种不同的程序设计思想,而C++与C是两种编程语言,难道C++就不能用于面向过程去解决问题吗,当然可以。而面向对象的设计思想也可以用到C语言[详细]
-
C/C++ 数组和指针及引用的区别
所属栏目:[经验] 日期:2020-12-31 热度:149
C/C++ 数组和指针及引用的区别 1.数组和指针的区别 (1)定义 数组是一个符号,不是变量,因而没有自己对应的存储空间。但是,指针是一个变量,里面存储的内容是另外一个变量的地址,因为是变量所以指针有自己的内存空间,只不过里面存储的内容比较特殊。[详细]
-
VC++实现的OpenGL线性渐变色绘制操作示例
所属栏目:[经验] 日期:2020-12-31 热度:113
本篇章节讲解VC++实现的OpenGL线性渐变色绘制操作。分享给大家供大家参考,具体如下: 用到的思路就是在应力的最大值和最小值之间划分区间,每个区间的标识点对应不同的颜色值。 然后在区间内的应力值对应的颜色就进行插值来计算。 代码如下: #include GL[详细]
-
C语言SQLite3事务和锁的操作实例
所属栏目:[经验] 日期:2020-12-31 热度:153
本篇章节讲解C语言SQLite3事务和锁的操作。分享给大家供大家参考,具体如下: #include stdio.h#include sqlite3.hstatic int lib_get_value_callback(void *buf,int argc,char *argv[],char *column_name[]){ printf("argc:%d,%s argv[0]:%s,%s argv[1]:%[详细]
-
C/C++ 中gcc和g++的对比与区别
所属栏目:[经验] 日期:2020-12-31 热度:103
C/C++ 中gcc和g++的对比与区别 一、区别 1. gcc是GCC中的c编译器 g++是GCC中的c++编译器 2. 对于后缀为.c的文件,gcc当成c文件处理,而g++当成c++处理 对于后缀为.cpp的文件,两者都当成.cpp文件处理 3. 在编译阶段,g++会自动链接STL库,而gcc必须要加一[详细]
-
总结一些你可能不知道的ip地址
所属栏目:[经验] 日期:2020-12-31 热度:90
前言 IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。提起IP地址,大家肯定都知道,但本文主要给大家总结了一些大家可能不知道的ip地址,分享出来供大家参考学习,下面话不多说,来一起看看详细[详细]
-
c++ 预处理的图灵完备之引言
所属栏目:[经验] 日期:2020-12-30 热度:92
副标题#e# 我们还是来讨论c++吧,这几年在c++里面玩代码自动生成技术,而预处理是不可避免,也是不可或缺的重要工具。虽然boost pp预处理库在宏的运用上很是完善,但是代码也太多了,而且代码很不好理解,对此,不免让人疑惑,有必要搞得那么复杂,搞那么多[详细]
-
C++数据结构之文件压缩(哈夫曼树)实例详解
所属栏目:[经验] 日期:2020-12-30 热度:185
C++数据结构之文件压缩(哈夫曼树)实例详解 概要: 项目简介:利用哈夫曼编码的方式对文件进行压缩,并且对压缩文件可以解压 开发环境:windows vs2013 项目概述: 1.压缩 a.读取文件,将每个字符,该字符出现的次数和权值构成哈夫曼树 b.哈夫曼树是利用[详细]
-
C语言中调用Swift函数实例详解
所属栏目:[经验] 日期:2020-12-30 热度:196
C语言中调用Swift函数实例详解 在Apple官方的《Using Swift with Cocoa and Objectgive-C》一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中使用Objective-C中的类。在后半部分也介绍了如何在Swift中使用C函数,不过对于如何在C语言[详细]
-
C++标准库bitset类型的简单使用方法介绍
所属栏目:[经验] 日期:2020-12-30 热度:207
std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。 #includebisterusing std::bitset; 一句话定义:可自定义位数,用作记录二进[详细]
-
C++中的内存对齐实例详解
所属栏目:[经验] 日期:2020-12-30 热度:115
C++中的内存对齐实例详解 内存对齐 在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。 我们还是先来看一段简单的程序: 程序一 #include iostream using names[详细]
-
浅谈C++ Socket编程
所属栏目:[经验] 日期:2020-12-30 热度:189
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。 服务器端编程的步骤: 1:加载套接字库,创建套接字(WSAStartup()/socket()); 2:绑定套接字到[详细]