`

初始化(new)

 
阅读更多
#include<iostream>
using namespace std;

int init0;
int main()
{
    //这2个都是c++11新支持的东东 
    int a = {3};//无警告!!!
    int b{2};//extended initializer lists only available with -std=c++11 or -std=gnu++11 [默认启用]
    cout << a << endl;
    cout << b << endl;

    long double c = 123.123456789;
    //这一行代码居然只是警告!按书上说应该是个error啊
    int d{c},e={c};//narrowing conversion of ‘c’ from ‘long double’ to ‘int’ inside { } is ill-formed in C++11 [-Wnarrowing]
    cout << d << endl;
    cout << e << endl;

    int init1;
    cout << "init0:" << init0 << endl;
    cout << "init1:" << init1 << endl;
    return 0;
}


3
2
123
123
init0:0
init1:134519912


一直觉得变量不初始化就是万恶之源,可为什么c++不给函数内的变量一个default value呢?
分享到:
评论

相关推荐

    C#中结构(struct)的部分初始化和完全初始化实例分析

    当通过 `new Size(10, 5)` 创建实例时,构造函数自动给 `Length` 和 `Width` 赋值,从而实现了完全初始化。 总结来说,C# 中的结构要求在调用任何方法之前进行完全初始化,也就是说,所有字段都需要有明确的初始值...

    java数组初始化详解

    4. 动态初始化:`int[][] a = new int[2][]; a[0] = new int[3]; a[1] = new int[4];`,这将创建一个 2xN 的整数数组,并将每个元素初始化为默认值 0。 需要注意的是,在 Java 中,二维数组的每一维的大小可以不同...

    Java静态初始化块和对象初始化块

    在Java编程语言中,初始化块是程序执行时用于初始化对象或类的重要机制。这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种...

    WPF 对象初始化器_1 对象初始化器_1

    ### WPF 对象初始化器详解 #### 一、对象初始化器概述 对象初始化器是C# 3.0引入的一项新特性,它简化了对象创建的过程。在传统的面向对象编程中,创建对象后通常需要手动设置各个属性。这种方式不仅繁琐,而且...

    CSS样式初始化commonInitialize.css

    CSS样式初始化是开发过程中一个重要的步骤,它旨在消除浏览器之间的默认样式差异,确保网页在不同浏览器上的一致性表现。"commonInitialize.css"就是这样一个专门用于全局CSS样式初始化的文件。 首先,我们来理解...

    类继承的初始化顺序类,继承的初始化顺序

    本文详细介绍了类继承中的初始化顺序问题,包括初始化的基本概念、初始化过程中的关键步骤以及如何正确处理基类和子类之间的构造函数调用。理解这些概念对于编写高效、可维护的面向对象程序至关重要。希望通过对这些...

    Vector初始化的各种写法

    这篇博客“Vector初始化的各种写法”可能探讨了如何在程序开始时设置和填充一个Vector对象的不同方法。虽然没有提供具体的博客内容,但我们可以根据标题推测并详细阐述一些常见的Vector初始化技术。 1. **默认初始...

    java程序初始化顺序

    在Java编程语言中,程序初始化的顺序是一个关键概念,它涉及到类加载、对象创建以及执行流程的安排。了解这些顺序对于编写高效、无错误的代码至关重要。以下是对Java程序初始化顺序的详细说明: 1. **类加载阶段**...

    VB 数组的初始化实例

    数组的初始化是指在声明数组时为它分配内存并赋予初始值的过程。在VB中,有多种方法可以初始化数组,本篇文章将深入探讨这些方法,并通过实例来说明。 ### 1. 静态初始化 静态初始化是在声明数组的同时为每个元素...

    对象初始化流程梳理对象初始化流程梳理

    Java中的对象初始化流程是编程实践中一个非常重要的概念,它涉及到类加载、静态初始化块、实例初始化块、构造器等多个方面。下面将详细解释这个过程。 首先,对象初始化流程的起点是程序的入口点,即`main`方法。当...

    java中类的初始化顺序

    ### Java中类的初始化顺序详解 #### 一、概述 在Java编程语言中,类的初始化是一个非常重要的概念。类的初始化涉及到多个方面,包括静态成员变量、实例成员变量、静态初始化块、实例初始化块以及构造函数等。本文...

    java面试题-类的初始化顺序.doc

    类--初始化块"); 39. } 40. // 构造器 41. public SubClass() { 42. System.out.println("子类--构造器"); 43. } 44. 45. public static void main(String[] args) { 46. new SubClass(); 47. } 48.} 当我们运行这段...

    js操作表格, 带初始化的

    在这个主题中,我们将深入探讨如何使用JavaScript来创建、初始化、增加和删除表格元素。以下是一份详细的指南,帮助你理解并掌握这些核心概念。 首先,我们讨论如何初始化表格。在HTML中,可以创建一个基本的表格...

    xilinx rom初始化

    ### Xilinx ROM 初始化详解 #### 一、Xilinx ROM 概述 Xilinx ROM(Read-Only Memory)是Xilinx FPGA/CPLD设备中的一个重要组成部分,它主要用于存储固定的配置数据或者程序代码。在Xilinx FPGA设计中,ROM可以...

    Arduino New Ping Test

    1. 初始化NewPing对象,指定发射(Trig)和接收(Echo)引脚。 2. 在循环中调用`ping()`函数,获取距离值。 3. 使用获取的距离值来控制LED,比如通过比较阈值来决定是否点亮LED。 4. 可能还包括错误处理和调试输出,...

    winform 初始化器源码

    WinForm初始化器源码是一个关于Windows桌面应用程序开发的资源,主要关注的是使用C#或Visual Basic.NET等.NET Framework语言编写的Windows Forms(WinForm)应用的启动和初始化过程。WinForms是微软提供的一种用于...

    java语法\Java数组声明、创建、初始化

    Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...

    Velocity初始化过程解析

    Velocity是一个流行的Java...总的来说,Velocity的初始化过程涉及到多个组件的配置和初始化,以确保其能够正确地处理模板并生成动态内容。理解这个过程有助于优化 Velocity 的性能和日志记录,使其更好地适应项目需求。

    数组初始化 数组的两种初始化方式

    动态初始化是指在数组声明时不指定数组元素的值,而是使用 new 关键字来创建数组,例如:int[] a = new int[5]; 这种方式可以在数组声明时指定数组的大小,但不指定数组元素的值。在动态初始化时,如果未指定元素的...

Global site tag (gtag.js) - Google Analytics