C++的auto声明、memset函数

文章目录

auto

为了让编译器能够根据初始值的类型推断变量的类型,C++重新定义了auto的含义。在初始化声明中,如果使用关键字auto,而不指定变量的类型,编译器将把变量的类型设置成与初始值相同;

auto n = 100;//n is int
auto x = 1.5;//x is double
auto y = 1.3e12L;//y is long double
auto t = a[10];

但自动推断类型并不是为这种简单情况而设计的,如果永用于简单情形,会出错,假设要将x,y,z都指定为double

auto x =0.0;//0.0 is double
double y = 0//0.0
auto z = 0;// z is int

遍历数组内容:

for(autox:a)中a为一个容器,作用是用x遍历并获得容器中的每一个值,只是遍历。
for(auto & x:a)使用了引用符号,可以对a中内容进行赋值,即可以通过对x赋值,来对a进行赋值。

auto还有很多用途,我只是想了解一下他是干啥的,其他的有关以后见到再学吧。

memset

memset()是C的一个库函数,c++也可用,需声明头文件 < cstring >

memset(str,c, n)复制字符c到参数str所指向的字符串的前n个字符。
  • str – 指向要填充的内存块。
  • c – 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
  • n – 要被设置为该值的字节数。
#include<stdio.h>
#include<string.h>
int main() 
{
	char a[10];
	memset(a,'#', 7);
	
	puts(a);
	return 0;
}

memset()也可以出初始化整数数组,但只能是0或-1,比如

memset(a,-1,sizeof(a));
memset(a,0,sizeof(a));

memset(a,1, sizeof a);自然是不行的

发布了67 篇原创文章 · 获赞 216 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45895026/article/details/104189315