c/c++学习
陌上花开缓缓归以
无
展开
-
代码中常用数据类型库函数
1 atoi :字符串转整数2,snprintf:整数/浮点数转字符串原创 2021-08-27 09:50:20 · 111 阅读 · 0 评论 -
字符串函数strtol学习和使用
首先我们先从c语言库里面看看这个函数的原型:long int strtol(const char *nptr, char **endptr, int base);用法说明:我们将一个字符串nptr在基于base进制的情况下进行分割,遇到第一个不合法的字符就需要停止向后遍历,如果合法就向后遍历,取出合法部分的值给与返回值即可。(此时合法的值和base有关,base为n,这个数就是n进制的值,所以我们在获取值之后如果要用到10进制的值,就需要做个进制转换)。不合法部分给endptr,也可以不用给.原创 2021-07-27 09:55:33 · 2225 阅读 · 0 评论 -
今日问题总结
1,gdb p 不能打印的变量需要怎么跟踪。2,结构体相互嵌套需要注意些什么,自应用呢,从以下三方面说明:(1)使用方法(2)引出目的(3)举例说明3,结构体里面加#define怎么用,有什么含义4,access的使用总结...原创 2021-10-26 20:48:50 · 114 阅读 · 0 评论 -
stat/fstat使用总结
1,man -a stat查看函数#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int stat(const char *pathname, struct stat *buf);int fstat(int fd, struct stat *buf);int lstat(const char *pathname, struct stat *buf);2,stat结构体说明:原创 2021-10-27 14:55:11 · 278 阅读 · 0 评论 -
c++之一键总结(二)
1,类的学习:void show() {}; //一般函数声明struct Student{ //成员变量/成员对象 int id; string name; int score; //成员函数/成员方法 void show() { // this-&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;show(); // show(*this); //是不是调用自己 c原创 2019-02-25 17:32:58 · 210 阅读 · 0 评论 -
c++之左值和右值
1,左值和右值定义:左值与右值这两概念是从 c 中传承而来的,在 c 中,左值指的是既能够出现在等号左边也能出现在等号右边的变量(或表达式),右值指的则是只能出现在等号右边的变量(或表达式)。注意:在 c 语言中,通常来说有名字的变量就是左值,而由运算操作(加减乘除,函数调用返回值等)所产生的中间结果(没有名字)就是右值。在 c++ 中,每一个表达式都会产生一个左值,或者右值,相应的,该表达式...原创 2019-03-05 12:31:00 · 214 阅读 · 0 评论 -
c++之一键总结(三)
1,类中变量的继承和派生访问class Base{private: //本类内部可以访问protected: //本类和派生的类可以直接访问 int a; int b;public: void show() { cout &amp;amp;amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;amp;amp;lt; &amp;amp;amp;amp;amp;amp;quot;Base &am原创 2019-02-26 18:59:34 · 222 阅读 · 0 评论 -
c++之static_cast、dynamic_cast、const_cast、reinterpret_cast
c语言强制类型转换主要用于基础的数据类型间的转换,语法为:float b=10.22;int c = (int)b;int d = int(b);c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,主要运用于继承关系类间的强制转化,语法为:~~_cast<new...原创 2019-03-08 15:12:16 · 187 阅读 · 0 评论 -
c++ 容器STL
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类容器部分主要由头文件,,,,,和组成。对于常用的一些容器和容器适配器(可以看作由其它容器实现的容器),现在来总结一下它们。1,vector的应用#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;#inclu...原创 2019-02-27 14:09:00 · 183 阅读 · 0 评论 -
c++之一键总结(一)
假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。因此,引入了命名空间这个概念,...原创 2019-02-20 14:53:20 · 222 阅读 · 0 评论 -
#和##的总结
#define paster( n ) printf( “token &amp;amp;amp;amp;quot; #n” = %d\n &amp;amp;amp;amp;quot;, token ## n )注意:(1)#n 两边的引号必须要 (2) ## 两边的空格可有可无,不影响&amp;amp;amp;amp;quot;#&amp;amp;amp;amp;quot;用来把参数转换成字符串,是给参数加上双引号。&原创 2019-04-26 23:32:26 · 840 阅读 · 0 评论 -
c++学习this指针总结(一)
(一)C++成员变量为什么设为pravite而不是public假如有一个衣服的类,我们来看看设为pravite和public的区别:class Clothes{public://这样谁都有权限访问int price;string name;};class Clothes{pravite://只有该类才有权利访问int price;string name;public:i...原创 2019-01-29 16:45:18 · 476 阅读 · 0 评论 -
c++文件操作
1,c语言文件操作#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;struct Student{ int id; char name[20];};class File { FILE* fp; public: bool open(cons...原创 2019-02-27 14:49:56 · 172 阅读 · 0 评论 -
C/C++面试常见题目之字符串操作(二)
class String{ char* ptr; int len;public:/*********************************无参构造*********************************/ String() { ptr = new char[1]{'\0'}; len = 0; }/****************************...原创 2019-02-27 16:20:49 · 258 阅读 · 0 评论 -
c++实现双链表的操作
/*********************************定义*********************************/struct Data{ int id; string name; int age; Data() : id(0), age(0) { } Data(int i, string n, int a) : id(i), name(n), age(a)...原创 2019-02-27 16:28:20 · 125 阅读 · 0 评论 -
C/C++面试常见题目之字符串操作(一)
1,模拟实现memcpy、memmove函数以及二者的区别原型:extern void *memcpy(void *dest, void *src, unsigned int count);用法:#include &amp;lt;string.h&amp;gt;功能:由src所指内存区域复制count个字节到dest所指内存区域。注意:.source和destin所指的内存区域可以重叠,但是如果sourc...原创 2019-02-12 14:14:03 · 680 阅读 · 0 评论 -
linux调试常用的打印宏
c++预定义的宏:LINE:在源代码中插入当前源代码的行号FILE:在源文件中插入当前源文件名;DATE:在源文件中插入当前编译日期;TIME:在源文件中插入当前时间;FUNCTION:在源代码中函数的名字...原创 2019-06-06 00:02:59 · 1087 阅读 · 2 评论 -
linux c/c++常用关键字pragma pack和attribute_packed总结
(一)pragma pack使用说明用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题,有时候为了内存对齐需要补齐空字节。通常写程序的时候,不需要考虑对齐问题。编译器会替我们选择适合目标平台的对齐策略。当然,我们也可以通知给编译器传递预编译指令而改变对指定数据的对齐方法。语法:#pragma pack( [show] | [...原创 2019-01-17 18:47:43 · 1537 阅读 · 0 评论