簡體   English   中英

定義[] =運算符

[英]Defining the []= operator

我正在編寫一個Grid類,其元素是Points - 一個(int)網格,每個網格的正方形都有一個(雙)點。 我已經定義了這個(高度值存儲在別處):

Point &operator[](Point p) { return floor(get_x(p)) + height * floor(get_y(p)); }

我想定義賦值運算符。 怎么會這樣呢? 它是基於[]運算符自動定義的嗎?

到目前為止我有

Point &operator[]=(Point p, Point q) { data[floor(get_y(p)) * height + floor(get_x(p))] = q; }

但這似乎是一個循環的定義。

這不是它的工作方式, []運算符應該返回該索引處元素的引用,並且該元素 (類型)應該支持operator= (即Point::operator=

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM