C/C++
风中1匹狼
Live is fucking movie
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言可变参数详解【转】
(转自:https://blog.youkuaiyun.com/longintchar/article/details/85490103?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158890188319725256728493%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%25...转载 2020-05-08 09:57:32 · 825 阅读 · 1 评论 -
利用sprintf和sscanf实现十六进制和十进制之间的相互转换【转】
(转自:https://blog.youkuaiyun.com/stpeace/article/details/13168851)#include <stdio.h> int main(){ char s[100] = {0}; sprintf(s, "%x", 15); printf("%s\n", s); // f char str[100] = "f"; int i...转载 2020-05-07 17:07:11 · 862 阅读 · 0 评论 -
逻辑左移、逻辑右移、算术左移、算术右移、循环左移、循环右移【转】
(转自:https://blog.youkuaiyun.com/u011070169/article/details/53894154)逻辑左移时,最高位丢失,最低位补0;逻辑右移时,最高位补0,最低位丢失;算术左移时,依次左移一位,尾部补0,最高的符号位保持不变。算术右移时,依次右移一位,尾部丢失,符号位右移后,原位置上复制一个符号位;循环左移时,将最高位重新放置最低位循环右移时,将...转载 2020-05-07 16:36:07 · 1296 阅读 · 1 评论 -
指针参数--指针做参数时应该注意的地方【转】
(转自:https://blog.youkuaiyun.com/sszgg2006/article/details/9037675)首先看以下程序: #include <stdio.h> int *swap(int *px, int *py){ int temp; temp = *px; *px = *py; *py = temp...转载 2018-09-16 21:55:46 · 190 阅读 · 0 评论 -
C++中的::的作用【转】
(转自:https://blog.youkuaiyun.com/zhanghuaichao/article/details/55676209?utm_source=blogxgwz0)(1)作用域限定符,当在类体中直接定义函数时,不需要在函数名字的前面加上类名,但是在类体外实现函数定义的时候,必须加上类名并且加上作用域限定符。Student::Display();(2)静态数据成员既可以通过对象名引用...转载 2018-10-17 12:11:44 · 327 阅读 · 0 评论 -
setjmp和longjmp函数使用详解【转】
(转自:https://blog.youkuaiyun.com/chenyiming_1990/article/details/8683413)在网上看到的,觉得很有用,copy过来的。非局部跳转语句---setjmp和longjmp函数。非局部指的是,这不是由普通C语言goto,语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,返回到当前函数调用路径上的某一个函数中。#include <...转载 2018-09-17 00:23:14 · 469 阅读 · 0 评论 -
C语言使用宏初始化结构体的问题【转】
(转自:https://blog.youkuaiyun.com/tq384998430/article/details/76838979)Linux内核源码中广泛的使用宏来进行结构体对象定义和初始化,但是进行对象初始化的时候需要注意宏参数和结构体成员名冲突的问题,下面进行简单测试说明,编写一个程序创建一个结构体,然后使用宏进行结构体初始化: 1 #include "stdio.h" 2 ...转载 2018-09-17 20:21:12 · 977 阅读 · 0 评论 -
linux C函数之access函数的用法【转】
(转自:https://blog.youkuaiyun.com/tigerjibo/article/details/11712039)1.函数功能:检查调用进程是否可以对指定的文件执行某种操作。2.函数原型:1)函数头文件 #include <stdio.h> #include <unistd.h> 2)函数int acc...转载 2018-09-19 13:33:28 · 1017 阅读 · 0 评论 -
关于指针变量所占内存空间大小的问题【转】
(转自:https://blog.youkuaiyun.com/cool_oyty/article/details/8078632)在编译器里定义一个指针变量,编译器会给这个指针变量分配一个空间,这个空间里存放的是一段内存的首地址,先解释一段内存,一段内存的大小是与你所定义的指针类型相关的,比如int,这段内存占四个字节(当然要看你的机器是多少位的了),则这段内存的首地址是第一个字节的地址,如char类...转载 2018-10-03 21:56:26 · 4779 阅读 · 0 评论 -
内存分配方式,堆区,栈区,new/delete/malloc/free【栈】
(转自:https://blog.youkuaiyun.com/jing0611/article/details/4030237)1.内存分配方式内存分配方式有三种:[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自...转载 2018-10-12 00:48:04 · 687 阅读 · 0 评论 -
深入分析C++中char * 和char []的区别【转】
(转自:https://blog.youkuaiyun.com/nuoshueihe/article/details/8181913) 问题引入: 在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内 容程序是会崩溃的,而后者完全正确。 程序演示: 测试环境Devc++ 代码 ...转载 2018-10-12 14:11:55 · 396 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)【转】
(转自:https://www.cnblogs.com/BlueTzar/articles/1223313.html)对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include<iostream>usingnames...转载 2018-10-15 11:16:44 · 339 阅读 · 0 评论 -
C++ 内联函数 (讲解的TM真好)【转】
(转自:https://www.aliyun.com/zixun/wenji/1239734.html)1. 内联函数在C++中我们通常定义以下函数来求两个整数的最大值:复制代码 代码如下:int max(int a, int b){return a > b ? a : b;}为这么一个小的操作定义一个函数的好处有:① 阅读和理解函数 max 的调用...转载 2018-10-15 12:58:17 · 231 阅读 · 0 评论 -
什么时候需要定义拷贝构造函数【转】
(转自:https://blog.youkuaiyun.com/suxinpingtao51/article/details/36890809)当没有定义拷贝构造函数时,对象值传递时是位拷贝,但是通常情况下,位拷贝已经能满足我们的要求,是我们不必自己定义拷贝构造函数。但是什么时候需要自己定义呢?这里有个简单的规则:如果你需要定义一个非空的析构函数,那么,通常情况下你也需要定义一个拷贝构造函数。...转载 2018-10-15 15:41:06 · 825 阅读 · 0 评论 -
c++类的构造函数详解【转】
(转自:https://blog.youkuaiyun.com/tiantang46800/article/details/6938762)c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。 ...转载 2018-10-15 16:39:33 · 266 阅读 · 0 评论 -
C++中判断数据类型的函数【转】
(转自:https://blog.youkuaiyun.com/suxinpingtao51/article/details/8166617)如变量int a;我们可以利用库函数typeid,来判断变量a是否为整型变量;如:if (typeid(a) == typeid(int))这个库函数typeid在头文件typeinfo.h中。#include <typeinfo...转载 2018-10-15 16:43:18 · 10144 阅读 · 2 评论 -
C++中构造函数,拷贝构造函数和赋值函数的区别和实现【转】
(转自:https://blog.youkuaiyun.com/zcyzsy/article/details/52132936)C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现1.构造函数构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它被调用来对类的数据成员进行初始化和分配内存。(构造函数的命...转载 2018-10-15 18:48:51 · 336 阅读 · 0 评论 -
C++ const修饰函数、函数参数、函数返回值【转】
(转自:https://blog.youkuaiyun.com/my_mao/article/details/22872149)const修饰函数在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数。为什么不能调用非const函数?因为非const函数可能修改数据成员,const成员函数是不能修改数据成员的,所以在const成员函数内只能调用const函...转载 2018-10-16 09:17:17 · 262 阅读 · 0 评论 -
const在函数前与函数后的区别【转】
(转自:https://www.jianshu.com/p/35c8a245d62d)一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:int b = 500; const int* a = &b; // [1] int const *a = &b; // [2]...转载 2018-10-16 09:19:49 · 157 阅读 · 0 评论 -
C++中的mutable关键字【转】
(转自:https://blog.youkuaiyun.com/starlee/article/details/1430387?utm_source=blogxgwz7)mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个co...转载 2018-10-16 12:38:59 · 140 阅读 · 0 评论 -
一张图总结Google C++编程规范(Google C++ Style Guide)【转】
(转自:https://blog.youkuaiyun.com/voidccc/article/details/37599203?utm_source=blogxgwz0)Google C++ Style Guide是一份不错的C++编码指南,我制作了一张比较全面的说明图,可以在短时间内快速掌握规范的重点内容。不过规范毕竟是人定的,记得活学活用。看图前别忘了阅读下面三条重要建议:1 保持一致也非常重要...转载 2018-10-16 23:59:06 · 503 阅读 · 0 评论 -
为什么inline函数应该在头文件中定义?【转】
(转自:https://blog.youkuaiyun.com/ronnie_hu/article/details/62238311)inline函数(即内联函数)对编译器而言必须是可见的,以便能够在调用点展开该函数,与非inline函数不同的是,inline函数必须在调用该函数的每个文件中定义。当然,对于同一程序的不同文件,如果inline函数出现的话,其定义必须相同。正因为如此,建议把inline...转载 2018-10-17 01:01:36 · 1042 阅读 · 0 评论 -
C++二维数组动态内存分配【转】
(转自:https://www.cnblogs.com/Forever-Kenlen-Ja/p/3753566.html) /*申请3行4列的二维数组内存*/ int **array; array = new int *[3];/*先申请3个int*类型的一维指针,作为行*/ for (i = 0; i < 3; i++) {/*再为每一行申请一个...转载 2018-10-17 09:43:32 · 5401 阅读 · 2 评论 -
没有躲过的坑--使用using namespace std的坏习惯【转】
(转自:https://blog.youkuaiyun.com/wangshubo1989/article/details/50061311?utm_source=blogxgwz9)使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我们在自己的程序中定义...转载 2018-10-17 10:22:09 · 280 阅读 · 0 评论 -
深入理解命名空间【转】
(转自:https://blog.youkuaiyun.com/LF_2016/article/details/51930792?utm_source=blogxgwz1)一、为什么使用命名空间一个大型的工程往往是由若干个人独立完成的,不同的人分别完成不同的部分,最后再组合成一个完整的程序。由于各个头文件是由不同的人设计的,有可能在不同的头文件中用了相同的名字来命名所定义的类或函数,这样在程序中就会...转载 2018-10-17 10:31:12 · 292 阅读 · 0 评论 -
C++ 命名空间namespace【转】
(转自:https://blog.youkuaiyun.com/touzani/article/details/1637776?utm_source=blogxgwz7)命名空间在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命...转载 2018-10-17 11:13:28 · 181 阅读 · 0 评论 -
c++中冒号(:)和双冒号(::)的用法【转】
(转自:https://blog.youkuaiyun.com/zimingjushi/article/details/6549390?utm_source=blogxgwz1)1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面...转载 2018-10-17 13:09:59 · 781 阅读 · 2 评论 -
C语言宏定义的几个坑和特殊用法【转】
(转自:https://blog.youkuaiyun.com/qq997843911/article/details/62042697)总结一下C语言中宏的一些特殊用法和几个容易踩的坑。由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档。宏基础宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见。基本用法如下:1....转载 2018-07-20 01:11:06 · 977 阅读 · 0 评论 -
通过printf设置Linux终端输出的颜色和显示方式【转】
(转自:http://www.cnblogs.com/clover-toeic/p/4031618.html)通过printf设置Linux终端输出的颜色和显示方式前言 在Linux终端下调试程序时,有时需要输出大量信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据。 终端的字符颜色由转义序列(Escape Sequen...转载 2018-04-05 16:51:04 · 742 阅读 · 0 评论 -
C语言宏定义,内置宏,__FILE__,__LINE__,## 用法【转】
(转自:https://blog.youkuaiyun.com/tomtc123/article/details/8875468)当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等。下面列举一些成熟软件中常用得宏定义1,防止一个头文件被重复包含#ifndefCOMDEF_H#defineCOMDEF_H//头文件内容 …#endif2,重新定义一些类型,防...转载 2018-04-08 20:15:10 · 869 阅读 · 0 评论 -
const和volatil的理解【转】
(转自:https://blog.youkuaiyun.com/deep_l_zh/article/details/48652571)摘要: 分析了const和volatile的意义,const修饰数组,指针,函数参数和返回值的用法,最后解释了const volatile int i=0这个问题。一、const修饰变量的意义在c语言中,const修饰的是只读变量,并不是一个常量,本质还是一...转载 2018-05-11 10:08:32 · 333 阅读 · 0 评论 -
linux上printf输出带颜色和高级格式控制【转】
(转自:http://blog.sina.com.cn/s/blog_90cfda2f0102x6c7.html)\033[显示方式;前景色;背景色m显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)前景色:30(黑色)、31(红色)、32(绿色)、33(黄色)、34(蓝色)、35(洋红)、...转载 2018-05-23 14:18:38 · 989 阅读 · 0 评论 -
C语言清除输入缓冲区【转】
(转自:https://blog.youkuaiyun.com/lv_xinmy/article/details/22393337)在使用scanf输入时,如果输入不合法,此时可以检查其返回值为0,但下次再调用时,上次不合法的输入,还在输入缓冲区中,此时就会接着不合法,如下:[html]view plaincopy#include<stdio.h> intma...转载 2018-05-23 14:22:20 · 686 阅读 · 0 评论 -
C语言清空输入缓冲区的N种方法对比【转】
(转自:http://www.cnblogs.com/codingmylife/archive/2010/04/18/1714954.html)C语言中有几个基本输入函数://获取字符系列int fgetc(FILE *stream);int getc(FILE *stream);int getchar(void);//获取行系列...转载 2018-05-23 14:34:00 · 571 阅读 · 0 评论 -
C语言的fgets() 与 gets()【转】
(转自:https://blog.youkuaiyun.com/cbs612537/article/details/8309444)这篇文章主要简单地说说fgets() 和 gets()首先看看函数原型:[cpp]view plaincopychar*fgets(char*s,intn,FILE*stream); char*gets(char*s);...转载 2018-05-23 14:39:16 · 916 阅读 · 0 评论 -
关于C语言函数返回数组的问题【转】
(转自:https://blog.youkuaiyun.com/earbao/article/details/53401800)关于C语言函数返回一个数组c语言中函数不能直接返回一个数组,但是可以用其他方式实现类似功能,不过需要注意:1、该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放。可以是全局变量,静态局部变量,动态分配内存,以及从函数参数传过来的数组地址。2、返回指针时...转载 2018-05-23 14:40:49 · 6637 阅读 · 0 评论 -
详解宏定义(#define)【转】
(转自:https://blog.youkuaiyun.com/yanggangclcsdn/article/details/49704089)C语言中用到宏定义的地方很多,如在头文件中为了防止头文件被重复包含,则用到:#ifndef cTest_Header_h#define cTest_Header_h//头文件内容#endif在我们常用的 stdio.h 头文件中也可以见到很多...转载 2018-05-23 15:03:03 · 32492 阅读 · 3 评论 -
if else 和 switch的效率【转】
(转自:https://blog.youkuaiyun.com/spy19881201/article/details/5851792)switch在判断分支时,没有判断所有的可能性,而是用一个静态表来解决这个问题,所以速度要比if-else快。但是,switch对较复杂的表达式进行判断,所以当我们需要判断一些简单数值时,用switch较好。下面是转载的内容,我看说的很有道理...转载 2018-05-31 11:47:14 · 2002 阅读 · 0 评论 -
使您的软件运行起来: 防止缓冲区溢出(转)
(转自:https://blog.youkuaiyun.com/hmsiwtv/article/details/8123416)Gary McGraw 和 John Viega2000 年 3 月 01 日发布C 中大多数缓冲区溢出问题可以直接追溯到标准 C 库。最有害的罪魁祸首是不进行自变量检查的、有问题的字符串操作(strcpy、strcat、sprintf 和 gets)。一般来讲,象“避免使...转载 2018-07-19 12:08:14 · 661 阅读 · 0 评论 -
C语言在子函数中调用malloc申请内存的方法【转】
(转自:https://blog.youkuaiyun.com/HuffieWang/article/details/51744043)版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/HuffieWang/article/details/51744043解决方法1.函数返回 将malloc得到的内存首地址通过函数的返回值返回到主函数。#...转载 2018-08-26 14:57:46 · 4699 阅读 · 2 评论
分享