initializer在c语言中是什么意

initializer在c语言中是参数初始化的意思。

1、Initializer是所有初始化方法的父类,不能直接使用,如果想要定义自己的初始化方法,请继承此类。如果需要传递自定义的初始化器,则该初始化器必须是callable的,并且接收shape(将被初始化的张量shape)和dtype(数据类型)两个参数,并返回符合shape和dtype的张量。

2、initializer_list是C++11提供的新类型,定义在头文件中。用于表示某种特定类型的值的数组,和vector一样,initializer_list也是一种模板类型。需要注意的是,initializer_list对象中的元素永远是常量值,我们无法改变initializer_list对象中元素的值。并且,拷贝或赋值一个initializer_list对象不会拷贝列表中的元素,其实只是引用而已,原始列表和副本共享元素。

3、一个initializer_list当出现在以下两种情况的被自动构造:当初始化的时候使用的是大括号初始化,被自动构造。包括函数调用时和赋值。当涉及到for(initializer:list),list被自动构造成initializer_list对象。也就是说initializer_list对象只能用大括号{}初始化。拷贝一个initializer_list对象并不会拷贝里面的元素。其实只是引用而已。而且里面的元素全部都是const的。




转载请注明:http://www.aierlanlan.com/grrz/4714.html