C++
NoEndForLearning
这个作者很懒,什么都没留下…
展开
-
C++中的auto、auto &、const auto、const auto &
先介绍一下auto、const: 在块作用域、命名作用域、循环初始化语句等等中声明变量时,关键词auto用作类型指定符,const是修饰符。(1)autoauto即 for(auto x:range) 这样会拷贝一份range元素,而不会改变range中元素;但是使用for(auto x:vector<bool>)时得到一个proxy class,操作时会改变vector<bool>本身元素。应该使用:for(bool x:vector<boo...原创 2021-02-02 18:21:18 · 6924 阅读 · 0 评论 -
char data[0](0长数组)用法
首先看一段C程序:#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct _Info{ int i; char data[0];}Info;int main(int argc, char* argv[]){ printf("%d/n",sizeof(Info)); return 0;}程序的执行结果是:4。整数i...原创 2020-12-01 15:19:42 · 931 阅读 · 0 评论 -
C/C++知识总结1--C与C++区别、std、编程范式、执行过程、万能头文件、printf、struct字节对齐
1、说一下C++和C的区别设计思想上:C是基于过程的结构化编程语言,C++在此之上增加了面向对象的机制语法上:C++具有封装、继承和多态三种特性C++相比C,增加多许多类型安全的功能,比如强制类型转换、C++支持范式编程,比如模板类、函数模板等2、using namespace std;工程上用的不多?因为更耗时,常用一下三句代替: using std::out; using std::endl; using std::ostream;3、...原创 2020-11-03 10:49:40 · 222 阅读 · 0 评论 -
交换两变量值--两种较高效率方法
1.可以用两个数求和然后相减的方式进行数据交换,弊端在于如果 x 和 y 的数值过大的话,超出 int 的值会损失精度。 x = x + y; y = x - y; ...原创 2020-04-24 17:41:49 · 406 阅读 · 0 评论 -
sort()函数与升序、降序 C++
1.使用sort()函数要加头文件:#include 2.函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间所有元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置对应的元素 is_sorted 判断一个区间原创 2016-03-17 20:56:32 · 62103 阅读 · 1 评论 -
strlen()函数 数组长度 C C++
1.#include #include using namespace std;int main(){char a[]="I am happy";coutreturn 0;}输出结果:10此时数组a的实际长度是11,应该包括'\0'在内;而strlen()函数求得的长度只是数组中有效字符的长度,不包括'\0'在内 2.#include原创 2016-03-17 21:59:06 · 1951 阅读 · 0 评论 -
extern的用法
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。 作为关键字时在一个源文件里定义了一个数组:char a[6];在另外一个文件里用下列语句进行了声明:extern char *a;请问,这样可以吗?答案与分析:1)、不可以,程序运行时会告诉你非法访问。原...转载 2018-09-13 17:23:54 · 423 阅读 · 0 评论 -
memset函数
1.使用memset函数要加上头文件#include <string.h>或#include <memory.h>2.memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。3.voi...原创 2016-03-15 20:42:11 · 481 阅读 · 0 评论