Day17

arrary很别好理解,一维arrary就是线,二维arrary就是面,三维arrary就是立方体,四维arrary的BigO(https://chart.googleapis.com/chart?cht=tx&chl=%24n%5E4%24)所以跟回圈一样尽量不要超过3维,而且四维以上空间也不容易理解,这章实在没甚麽好说的何况我手上拿的是蚂蚁书5e 2004年出版标准大概使用c99(1999制定)可能很多细节跟c20(2020年制定)不同,於是我们就跳脱书本内容比较C++ array 与python的list

C++ array

  1. 长度不可改变
  2. 连续记忆体空间
  3. 只能透过创建新array并将旧array复制到新array的方式更改长度
  4. 所有元素的型别都必须相同
  5. Array不可互相比较

Python list

  1. 长度可随意增加
  2. 每个元素的型别随意,除了基本型别甚至可以摆tuple, set, dict, object
  3. 因为上述性弹性导致速度超慢所以Pandas的array其实是由C++实现

因为C++原始的array一开始就必须宣告大小并配置记忆体空间,一不小心超过array就造成错误,所以创建了一个"样版类别(Class) vector",他是一个样板template所以可以是任何型别,同时他是个类别(Class)所以有些方法(method)可以使用例如size(), empty(), at(), begin(), end() ,也可以轻易的对两个vector使用运算元< > = =! 。然後蚂蚁书的范例就不解说了。


<<:  Unity与Photon的新手相遇旅途 | Day14-生成敌人

>>:  [Day 14] 实作-页面选单 v-menu v-btn

[Day 1] 资料产品简介

前言 大数据、AI 是这几年的热门议题,不管是公司还是客户都会开始透过资料分析或机器学习来改善自家产...

学习Python纪录Day29 - 简易版会飞的小鸟

铁人赛学习纪录来到了第28天,今天想来做点轻松的,决定用python做一只会飞的小鸟 首先大概设计一...

26.unity打字机(StartCoroutine)

实现打字机功能:字出现之间会有时差,让一个字接一个字出现。 回圈{ //画面texe += 清单[第...

找LeetCode上简单的题目来撑过30天啦(DAY6)

今天尝试了前几天被我放弃的题目,过一两天後果然比较有感觉,花了一点时间还是完成了呢,心情不错 题号:...

Day2 - Canvas基础概论 I - 成为Canvas Ninja ~ 理解2D渲染的精髓

Let's Start From Scratch 本系列文章的头几篇我决定还是带点基础的东西,但是我...