回答編集履歴

1

追記

2018/03/22 22:46

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -77,3 +77,65 @@
77
77
 
78
78
 
79
79
  メンバ変数へのアクセスも狭められますし。
80
+
81
+
82
+
83
+ 追記
84
+
85
+ ---
86
+
87
+ どうやらこういうことみたいですね。
88
+
89
+ ```C++
90
+
91
+ void subtract(double& num, double diff=3) {
92
+
93
+ num -= diff;
94
+
95
+ }
96
+
97
+
98
+
99
+ int main(void) {
100
+
101
+ Bun bun{1.5, 2.5, 3.5, 4.5};
102
+
103
+ auto& nums = bun.getNums();
104
+
105
+
106
+
107
+ bun.print();
108
+
109
+ subtract(nums[3]);
110
+
111
+ bun.print();
112
+
113
+
114
+
115
+ return 0;
116
+
117
+ }
118
+
119
+ ```
120
+
121
+
122
+
123
+ **実行結果** [Wandbox](https://wandbox.org/permlink/2P5TJg2dMVDEDFhr)
124
+
125
+ ```
126
+
127
+ 1.5 2.5 3.5 4.5
128
+
129
+ 1.5 2.5 3.5 1.5
130
+
131
+ ```
132
+
133
+
134
+
135
+ でもこれ、正直**悪手**だと思います。
136
+
137
+ せっかくクラスにvectorを閉じ込めたのに、外部からいくらでも操作出来てしまうので。
138
+
139
+
140
+
141
+ この方法を選ぶしかない状況ってあるんでしょうか。ちょっと考えなおした方が良いような。