美文网首页
一个伟大的想法

一个伟大的想法

作者: 我在东北玩泥巴_ | 来源:发表于2019-05-14 15:57 被阅读0次
c++

        我有一个伟大的想法,就是设计一个类,将c++语言从强类型语言变成弱类型语言,虽然可能会效率变得慢一点,但是是一个相当有趣的尝试,同时也能使我对C++的理解更上一层楼,感觉不错。

        我想,如果定义一个这样的类,如果赋给它整型也没关系,赋给它字符串也没关系,赋给它数没关系,那么该怎么办呢?

        首先,我是想这么赋给它数组:

        MyValue mv({1,2,3,4})

        或者这么赋值:

        mv = {1,2,3,4}

        是不是很有意思?这个对C++语法来说,没见过这么做的,但是,这是可能的,在C++11里,就有一个东西std::initializer_list<XXXXX>可以这么实现,它是位于std下的。

        std::initializer_list 对象在这些时候自动构造:

        * 用花括号初始化器列表列表初始化一个对象,其中对应构造函数接受一std::initializer_list 参数

        * 以花括号初始化器列表为赋值的右运算数,或函数调用参数,而对应的赋值运算符/函数接受std::initializer_list 参数

        * 绑定花括号初始化器列表到 auto ,包括在范围 for 循环中

        总的来说,它是一个模板,可以用花括号来完成数据读取,底层代码究竟是什么样的就不详细研究了,它的特性是真的不错。

        但是有一个问题是,它只能特化成一个数据类型的,你想把数组由许多类型的函数组成,例如{1,'A', "hello", 1.234},拜托,不可能,它一初始化就只能初始化一个类型。

        这时候,它的类型就应该是MyValue类型,为什么呢?因为C++有一种隐性转换,如果MyValue的某一个构造函数中有这么一个基础类型处理,那么它就会调用这个构造函数从而生成这么一个对象,这个特性真的是太好了。现在试一试。

        但是现在有一个困难是,用不用把list将普通常量囊括在内?我想不应该,因为我在初始化的时候就已经用普通变量进行初始化的,如果再嵌套一个list,例如:

        {1, {1, 2, "Hello"}, 3, 4.5f}

        这样,我们先分析一下,对于单个的基础元素,嗯,可以自动初始化为MyValue,然后是一个list,它应该会自动调用MyValue(initializer_list<MyValue>),然后进行二次构造,应该没有问题吧?

        对于如何存储,我想先定义好各种类型,然后定义一个enum,初始化哪个就设什么enum,然后进行运算就可以了,内存会偏大是一定的,但是数组怎么存呢?最好定义一个自己的数组类MyArray,它类似于STL的vector(我们不用stl),在里面有各种各样的操作,vector已经做的够好了,现在重复造轮子有一种没有动力的感觉。

        因此最好自己的MyArray有什么新特性最好,就像python里的一样就好了,加上matlab数组的特性,支持end,负数,怎么方便怎么来,不错。

        另外,为了方便,int,float都是要重载的,哇塞,繁重的工作,如果有哪位小伙伴感兴趣的话,可以联系我,我们一块儿做呀。

相关文章

  • 一个伟大的想法

    我有一个伟大的想法,就是设计一个类,将c++语言从强类型语言变成弱类型语言,虽然可能会效率变得慢一点,但是是一个相...

  • 每个想法都是伟大

    每个想法都是伟大 千里之行始于足下。这句古老的道理并非只是说教的范文,而是等待应正预言。 灯红酒绿的世界充斥着各种...

  • 不要让现实毁掉你的梦想

    你有没有过这样的时候, 当我们有了一个伟大的想法,常常会出现这样的情况, 觉得有了一个伟大的想法,如果实现了一定会...

  • 坚持阅读第17天

    想成功就别怕辛苦:成功道路上的8块绊脚石。 1.胆怯。 每条成功之路都源于一个伟大的想法。唯一的问题是:伟大的想法...

  • 伟大的想法来自空闲的思考

    我们总是让自己越来越忙,好像不忙起来就是犯罪,其实真正重要的是让自己有空闲。 你看杯子只有保持空着,才能装东西,同...

  • 种一粒喜欢的种子

    喜欢成就伟大。 ——题记 兰彻,一个聪明、有想法、又酷有牛、善良热...

  • 不要忽略任何一个小的想法

    一个人的想法特别我们其实选非常注意我们的想法,因为很可能一个不经意之间的想法就成了我们梦开始的地方。 任何伟大的事...

  • “这就是我伟大的想法啦”

    这部片子是之前看到就记下了,时不时会搜搜看资源有没有出来,昨天赶时间就在手机上搜到看了。 电影呀音乐呀就是你看了听...

  • 超越哈佛笔记1

    我常常思考东西方教育原典的分野、伟大教育家的分野,得出一个亵渎先贤的想法。有两类伟大的教育家:第一种,他的伟大令学...

  • 合作的力量

    工作的另一个真相就是团队协作,工作是团队完成的,个人的力量极其有限,能有伟大的想法,但难以完成伟大的故事。 高效能...

网友评论

      本文标题:一个伟大的想法

      本文链接:https://www.haomeiwen.com/subject/kizsaqtx.html