#include <iostream>
using namespace std;
struct struct1{
/*
struct1(){
cout<<"this is output by struct1 !";
}
if add this code block , such errors like 'you must initlizer data number of struct1 by constructor in g++98' will occor in compile time,
*/
int data1 ;
double data2 ;
string data3 ;
/*
but if you add the following function without error
*/
void showStruct1(){ cout<<"this is output by showStruct1 of struct struct1 ! \n ";
}
};
class class1{
public :
int data1 ;
double data2 ;
string data3 ;
};
int main(){
struct1 oneStruct1 = {, 1.1 , "hello world !"};
class1 oneclass1{, 1.1 , "hello world !"};// errror :
// scalar object 'oneclass1' requires one element in initializer ???????????????????
//solution : change from 'class1 * oneclass1 = {1,1.1 ....}' to 'class1 oneclass1{......}'
return ;
}
/* Conclusion :
if struct include some special function like constructor and destructor will can't initilizer by {} , class default can't inializer by {}, but you can change access modifiers to public */

使用大括号初始化struct应该是C语言中的语法。由于C++是向后兼容C,所以在C++中也支持该语法。从上面的程序可以看出:

  当struct和class中没有特定的像构造函数或者析构函数等面向对象特征方法时是可以通过大括号进行初始化;但是如果struct和class中有标志着面向对象的元素时,就不能初始化。也就是说,当struct和class体现的是一个数据集合时可以使用大括号,但是如果体现的是一种数据类型就不能使用大括号。

对struct和class使用大括号初始化的测试的更多相关文章

  1. C++11新特性——大括号初始化

    C++11之前,C++主要有以下几种初始化方式: //小括号初始化 string str("hello"); //等号初始化 string str="hello" ...

  2. 基于iSCSI的SQL Server 2012群集测试(二)--SQL群集安装后初始化配置测试

    4.群集安装后初始化配置测试 4.1 禁用full-text 服务和Browser服务 Full-text服务:公司目前暂不使用,需在两个节点上分别禁用 Browser服务:为保证安全,建议将Brow ...

  3. Java 中静态代码块初始化问题测试

    Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...

  4. Unity-Animator深入系列---StateMachineBehaviour初始化时间测试

    回到 Animator深入系列总目录 结果和想的有点出入 测试结果: 1.SMB初始化会被调用多次,次数不可控,当Animator组件重复开关则重复初始化. 2.SMB支持构造函数 MyClass p ...

  5. C结构体struct 和 共用体union的使用测试

    #include <stdio.h> struct { char name[10]; char sex; char job; int num; union{ //联合只能共用同一个内存 i ...

  6. 大括号之谜:C++的列表初始化语法解析

    有朋友在使用std::array时发现一个奇怪的问题:当元素类型是复合类型时,编译通不过. struct S { int x; int y; }; int main() { int a1[3]{1, ...

  7. c语言 struct 的初始化

    转自:http://www.cnblogs.com/silentjesse/archive/2013/07/30/3225212.html struct数据有3中初始化方法:顺序,C风格及C++风格的 ...

  8. C语言中结构体(struct)的几种初始化方法

    转自https://www.jb51.net/article/91456.htm     本文给大家总结的struct数据有3种初始化方法 1.顺序 2.C风格的乱序 3.C++风格的乱序 下面通过示 ...

  9. struct{0}二

    一直以为 ]={};是把a的所有元素初始化为0,]={};是把a所有的元素初始化为1. 调试的时查看内存发现不是那么一回事,翻了一下<The C++ Programming Language&g ...

随机推荐

  1. 性能优化之Java(Android)代码优化

    最新最准确内容建议直接访问原文:性能优化之Java(Android)代码优化 本文为Android性能优化的第三篇——Java(Android)代码优化.主要介绍Java代码中性能优化方式及网络优化, ...

  2. css整理-04 基本视觉格式化

    基本框 假定每一个元素都会生成一个火多个矩形框,为元素框 元素框中心有一个内容区,周围有内边距,边距和外边距 内容的背景会应用到内边距,外边距是透明的,可以看到父元素的背景 内边距不能是负值,外边距可 ...

  3. CSS3-html,样式与样式表的创建,选择器

  4. fzu月赛 2203 单纵大法好 二分

    Accept: 8    Submit: 18Time Limit: 5000 mSec    Memory Limit : 65536 KB  Problem Description 人在做,天在看 ...

  5. dotnet core 初试两个小问题解决

    1. Setup has detected that visual studio 2015 update 3 may not be completely installed 在安装 DotNetCor ...

  6. node.js文件系统

    FS文件系统 第一次用这个的时候非常爽,可以在代码层编写“增删改查”文件的功能.分解里面提供的方法,接下来我们从头创建开始,最后删除文件结束,一套流程接下fs文件系统的神奇. 要使用fs文件系统就要引 ...

  7. WPF: 旋转Thumb后,DragDelta移动距离出错的解决

    当Thumb跟随Grid旋转90度后,拖拽控件时会飞掉. <Grid x:Name="gridMain" Width="100" Height=" ...

  8. django 后台管理

    修改 admin.py from myapp.models import * from django.contrib import admin # Register your models here. ...

  9. CentOS 命令【备忘】

    1.查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2.查看核心数量 grep 'core id' /proc/cpuinfo ...

  10. Codeforce - Rock-Paper-Scissors

    Rock-Paper-Scissors is a two-player game, where each player chooses one of Rock, Paper, or Scissors. ...