- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
bool[] Inmask;
....
private void discreteOIForm_Load(object sender, EventArgs e)
{
if (icpI_measure.Connect() && icpO_measure.Connect())
{
Inmask = new bool[1];
Inmask[Convert.ToInt32(0)] = true;
}
}
phys-tech 07.05.2013 12:32 # +1
vse_govno 07.05.2013 13:30 # +1
bormand 07.05.2013 13:44 # +2
Да, видел, в жабьем коде, в котором автор (видимо сишник) хотел передать инт по ссылке ;)
someone 07.05.2013 14:01 # 0
guest 07.05.2013 14:30 # 0
Слишком много накладных расходов. Не для того их изобрели.
someone 07.05.2013 14:34 # 0
Посмотрите в исходник AtomicInteger. Операции get и set там - всего лишь тривиальный геттер и сеттер для volatile int. Если пользоваться только ими, никаких накладных расходов не будет. Вспомогательный объект используется только для нетривиальных операций типа incrementAndGet.
guest 07.05.2013 14:58 # 0
Но имхо массив предпочтительнее.
guest 07.05.2013 15:11 # +1
Lure Of Chaos 07.05.2013 15:54 # +1
roman-kashitsyn 07.05.2013 22:28 # +1
bormand 08.05.2013 06:28 # 0
guest 07.05.2013 14:28 # +2
Будто что-то плохое. Часто использую при возврате из замыканий, анонимных классов. int не сойдет, потому что final, а массив - самый раз.
Lure Of Chaos 07.05.2013 15:55 # +3
Dummy00001 07.05.2013 19:39 # +5
в древние времена, массив из одного элемента, как параметр функции, в жабе был почти официальный способ как эмулировать указатель на указатель. не в курсе как оно там сейчас, но во времена JDK 1.0 я это реально видел.
3.14159265 07.05.2013 20:04 # +2
И поныне часто так пишут. Правда нынче часто удобнее завести женерик-методы для построения ссылки, пары, тройки.
Но раньше так и было:
массив из одного элемента - ссылка.
из двух объектов - пара.
И выше. Кортежи-кортежики. Только кастинг вручную.
Возврат из методов нескольких значений, передача в анонимные классы.
3.14159265 07.05.2013 20:09 # +1
И без статических билдеров не очень удобно с этим хозяйством управляться.