
C++总结
C++总结
寰宇C++
这个作者很懒,什么都没留下…
展开
-
Linux下编译C++11代码的方法
g++ -std=c++11 helloworld.cpp -o helloworld#include <iostream>using namespace std;class A{ public: static int get(void){ return 100; }};class B{ public: static const char* get(void){ r.原创 2021-01-22 10:31:00 · 696 阅读 · 0 评论 -
C++条件编译 DEBUG
您可以只在调试时进行编译,调试开关可以使用一个宏来实现,如下所示:#ifdef DEBUG cerr <<"Variable x = " << x << endl;#endif#include <iostream>using namespace std;#define DEBUG#define MIN(a,b) (((a)<(b)) ? a : b)int main(){ int i; int j;原创 2021-01-21 10:20:19 · 1424 阅读 · 0 评论 -
C++ 日期 & 时间
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。有四个与时间相关的类型:clock_t、time_t、size_t和tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。结构类型tm把日期和时间以 C 结构的形式保存,tm 结构的定义如下:struct tm { int tm_sec; // ...原创 2021-01-18 18:55:08 · 168 阅读 · 0 评论 -
C++的数据类型
wchar_t 是这样来的:typedef short int wchar_t;所以 wchar_t 实际上的空间是和 short int 一样。一些基本类型可以使用一个或多个类型修饰符进行修饰:signedunsignedshortlong下表显示了各种变量类型在内存中存储值时需要占用的内存,以及该类型的变量所能存储的最大值和最小值。注意:不同系统会有所差异,一字节为 8 位。注意:long int 8 个字节,int 都是 4 个字节,早期的 C 编译器定义了 lo..原创 2021-01-17 15:25:04 · 107 阅读 · 0 评论 -
linux socket客户端异常断开导致服务器进程崩溃
1 忽略SIGPIPE信号当服务器监听并接受一个客户端链接的时候, 可以不断向客户端发送数据, 这时如果客户端断开socket链接, 服务器继续向一个关闭的socket 发送数据(send, write)的时候, 系统会默认对服务器进程发送一个SIGPIPE信号, 这个信号的默认动作就是终止当前服务器进程。所以为了解决客户端断开后导致服务器进程结束的问题, 使用如下方法忽略SIGPIPE信号...原创 2019-10-29 17:09:15 · 1694 阅读 · 0 评论 -
C++中计时、延时函数,windows跟Linux
(1)clock()函数用法void timeConsume(){ double start,stop,durationTime; start = clock(); /* ...代码片段 */ stop = clock(); durationTime = ((double)(stop-start))/CLK_TCK; c...原创 2019-10-29 10:44:45 · 1131 阅读 · 0 评论 -
【高分】读写配置文件ini完整可运行版linux c++
头文件#ifndef PROFILE_H#define PROFILE_H#if !defined(_INC_WINDOWS) #include <stdio.h> // for size_t typedef unsigned char BOOL; #ifndef FALSE #define FALSE 0 #endif #ifndef T...原创 2019-10-20 19:34:22 · 2075 阅读 · 2 评论 -
Linux 获取文件大小 字节到MB
#include <sys/stat.h>#include <stdio.h>float FileSize(const char *fname){ struct stat statbuf; if(stat(fname,&statbuf)==0) { return (float)(statbuf.st_...原创 2019-09-30 10:41:02 · 1600 阅读 · 0 评论 -
内存分析调试工具ubuntu16.04下valgrind安装与使用
Valgrind 安装1、 到www.valgrind.org下载最新版valgrind-3.7.0.tar.bz22、 解压安装包:tar –jxvf valgrind-3.7.0.tar.bz23、 解压后生成目录valgrind-3.7.0 4、 cd valgrind-3.7.05、 ./configure6、 Make;7、 sudo make install...原创 2019-09-29 16:34:34 · 931 阅读 · 0 评论 -
环形缓冲区,长度固定,可以源源不断读取最新数据
#include<stdio.h>#define CIRCLEBUFFER_SIZE 5short CircleBuffer[CIRCLEBUFFER_SIZE]={0};int WriteIndex=0;int ReadIndex=0;int LeftSize=0;//检查是否有到数组末尾.int Check_CircleBuffer(int i){ ...原创 2019-09-29 15:08:54 · 466 阅读 · 0 评论 -
memcpy的用法实例
#include <stdio.h> #include <string.h> ...原创 2019-09-26 17:25:38 · 335 阅读 · 0 评论 -
[C++]linux下实现删除文件或目录
在linux下有两个函数可以用来删除文件:#include <unistd.h>int unlink(const char *pathname);unlink函数删除文件系统中的一个名字,如果这个名字是该文件的最后一个link并且该文件没有被任何进程打开,那么删除该文件。否则等到文件被关闭或最后一个link被删除后删除该文件并释放空间。#include <uni...原创 2019-09-24 18:52:50 · 2847 阅读 · 0 评论 -
C++定义全局变量的方法
我们想定义一个全局变量,能够在多个文件中使用//hello.h#ifndef HELLO_H_#define HELLO_H_extern int a;void fun ();#endif//hello.c#include <stdio.h>#include "hello.h"int a = 0;void fun () { a = 1; prin...原创 2019-09-06 14:39:30 · 15433 阅读 · 0 评论 -
[C++]如何输出数字时在前面加0
#include<iomanip>这个头文件提供了一种输出方式,可以输出时在前面加零#include<iostream>#include<iomanip>using namespace std;int main(){ int a=10,b=1; cout<<setfill('0')<<setw(8)<&...原创 2019-09-23 10:05:20 · 7235 阅读 · 2 评论