当前位置:网站首页 > Java基础 > 正文

java sdk11 基础类



文章目录

  • c++11基础知识点
    • 初始化,一切皆可{}初始化,并且可以不加=符号
    • initializer_list容器
    • decltype
    • array
    • forward_list
    • 可变模板参数
    • emplace
        • 传递参数包:
        • 传递对象:
      • 总结:

c++11基础知识点

初始化,一切皆可{}初始化,并且可以不加=符号

 
 

initializer_list容器

 

decltype

 

array

对标的是静态数组,指针解引用,数组越界的情况。

 

forward_list

就是一个单链表,单项迭代器

可变模板参数

原理

 

使用的是编译时递归,而不是采用c语言的方java sdk11 基础类式,并没有把每一个参数都存储起来。

实际用途

 

emplace

原理:

 

在这里插入图片描述

可以接受参数包用于原地构造对象,也可以接受已经构造好的对象。

参数包:

系列接口使用了可变参数模板(variadic templates),因此你可以直接传递多个参数来调用对象的构造函数,这允许你直接在容器的内存中构造对象,而不需要先创建临时对象。

已经构造好的对象:

即使你传递的是一个已经构造好的对象, 系列接口仍然会尽可能避免不必要的拷贝或移动操作。具体来说,传递一个对象时, 会利用移动构造函数(如果有),否则会使用拷贝构造函数。

示例:

传递参数包:
 

输出

 
传递对象:
 

输出

 

总结:

  • 参数包: 系列接口可以传递多个参数,这些参数会被传递给对象的构造函数以在容器中直接构造对象,避免了构造临时对象然后移动或拷贝的开销。
  • 传递对象:如果你传递一个已经构造好的对象, 会尽量调用移动构造函数(如果对象是通过 传递的),否则调用拷贝构造函数。

版权声明


相关文章:

  • java1-1基础入门2024-11-01 16:42:01
  • java程序设计基础苏2024-11-01 16:42:01
  • java语言基础数据类型笔记2024-11-01 16:42:01
  • java基础知识笔试及解释2024-11-01 16:42:01
  • java基础循环选择题2024-11-01 16:42:01
  • java基础要从什么开始学起2024-11-01 16:42:01
  • java基础oop项目2024-11-01 16:42:01
  • java基础小项目源码2024-11-01 16:42:01
  • 杭州JAVA机构零基础2024-11-01 16:42:01
  • java基础2632024-11-01 16:42:01