c++中关于初始化型参列表的一些问题

/*
1.成员是按照他们在类中出现的顺序进行初始化的,而不是按照他们在初始化列表出现的顺序初始化的!
   一个好的习惯是,按照成员定义的顺序进行初始化。
2.数组成员在初始化型参列表中不正确
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;

struct node{
    int i, j;
    int num[12];
    //node(int x) : j(x), i(j){}//错误的初始化啊
    /*
        这里i的值是未定义的因为虽然j在初始化列表里面出现在i前面,但是i先于j定义,所以先初始化i,
        而i由j初始化,此时j尚未初始化,所以导致i的值未定义, 然后才对 j 进行初始化。
    */
    //node(): num[1](1), num[2](3){}//错误的书写
    node(int x) : i(x), j(i){}
    void out(){
        cout<<i<<" "<<j<<endl;
    }
}; 

int main(){
    node a(4);
    a.out();
    return 0;
}
时间: 2024-09-17 04:47:48

c++中关于初始化型参列表的一些问题的相关文章

.NET 2.0 基础类库中的范型——其他范型类

其他范型类.NET 2.0 基础类库对范型的应用当然并不仅限于范型集合和 Functional Programming.下面所列的范型类也都有其明确的设计目的和用途. Array在.NET 2.0中,Array 类扩充了对范型编程的支持.当然,Array类本身并不是范型类(出于兼容的考虑),而是提供了一系列支持范型的方法.除了前面提到的 Functional Programming 的支持外,Array 类还对以前很多基于 object 的方法提供了对应的范型版本,这样对值类型可以提高查找和排序

.NET 2.0 基础类库中的范型——Functional Programming

Functional ProgrammingFunctional Programming 不是一个新鲜的概念了,例如 C++ 虽然不是一门 Functional Programming 语言,但对它也有变通的支持--通过使用模板,函数对象(Function Objects)和运算符重载等手段,STL.Boost 等库提供了巧妙无比的.高性能的算法和功能.长久以来似乎 C++ 能实现的这些特性对于诸如 Java 和 C# 这些强调类型安全的面向对象的编程语言和框架来说是绝缘的.现在,在 CLR 范

OEA 中 WPF 树型表格虚拟化设计方案

    最近用 OEA 做的仓库管理系统中,许多界面的都需要使用表格控件来显示数据.一是这些表格的列非常多,有的甚至达到了 200 列,而且一个模块的界面中可能同时显示好几个表格.这导致界面的速度比较慢,特别是较多数据需要展现时.经检测,表现虽然表格的行已经做了虚拟化,但是由于列非常多,最终还是造成可视树中的元素过多,而导致界面布局代码运行过慢.假设只有 30 行,一个单元格仅生成 5 个可视元素,200 列的单元格都会产生 3W 个可视元素,而布局系统的 Measure 方法需要对可视树中的每

Python中list初始化方法示例_python

本文实例讲述了Python中list初始化方法.分享给大家供大家参考,具体如下: 1.基本方法. lst = [1, 2, 3, 4, 5] 2.初始化连续数字. >>> lst = [n for n in range(5, 10)] >>> print(lst) [5, 6, 7, 8, 9] 3.初始化n个相同值.(两种方式) >>> lst = ['x' for n in range(5)] >>> print(lst) ['x

请问在Combo的下拉列表中可以显示一个DataTable列表吗?

问题描述 请问在Combo的下拉列表中可以显示一个DataTable列表吗? 解决方案 解决方案二:可以,但是需要自己来绘制ComboBox的下拉列表.解决方案三:可以,但是只可以绑定一列.解决方案四:可以通过继承该控件来做.如点击ComboBox则显示一个DataGrid解决方案五:是可以的.我以前写过一个,代码发给你:usingSystem;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.

ANSI C中的整型升级

ANSI C中的整型升级 char,short int或者int型位段(bit-field),包括它们的有符号或无符号变型,以及枚举类型,可以使用在需要int或unsigned int的表达式中,如果int可以完整地表示源类型的所有值,那么该类型的值就转换为int,否则转换为unsigned int. ANSI C中的寻常算术转换 当执行算术运算时,操作数的类型如果不同,就会发生转换. 数据类型一般朝着浮点精度更高.长度更长的方向转换,整型数如果转换为signed不会丢失信息,就转换为signe

java中static初始化模块的使用

问题描述 java中static初始化模块的使用 我在编写中反复调用一个类中的方法,该类中有一个静态初始化模块static{},没有主方法,那么这个类的初始化模块会不会反复初始化? 怎么让它之初始化一次? 是在作c/s模型中出现的,客户端发送请求,要求修改服务器端的static模块,修改成功后,再次访问static模块又初始化了. 解决方案 java中static的使用java-static的使用java static final 初始化 解决方案二: 它本来就只初始化一次 解决方案三: 静态类

使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd

问题描述 使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd 使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd,但是在插入前我已经转成了yyyy-mm-dd HH:mm:ss格式,插入到数据库中时分秒就掉了,怎么回事 解决方案 应该用timestamp类型吧 解决方案二: http://blog.sina.com.cn/s/blog_af4f958e01015fmx.html 解决方案三: 也许是你使用的界面工具的

OEA 中 WPF 树型表格整体重构

为什么要重构       上两个月主要做了一件事情,那就是把 OEA 框架中的 TreeGrid 控件,从结构上重新设计,并大量重构现有代码.而花较大精力做这件事的原因,主要是因为: 业务中需要支持一系列新功能:整行编辑.上下箭头键进行导航.合计行.锁定列 等. 控件显示性能较差,需要支持列虚拟化. 和 OEA 元数据系统耦合,希望独立为单独的控件程序集,提高复用性. 不支持 xaml 声明的格式.原控件直接在后台用 OEA 代码生成,本质上作为一个 WinForm 控件来用. 整个 TreeG