📈sflash.biz
С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447
|
Добавлено: 05/12/17 в 12:02 |
Кто-то может расшифровать конструкцию:
Код: |
((UI*)client)->send(uiTXT::VisualData, {
{"coll", col.num},
{"row", (int)row.side}
});
|
1) Понятно, что это вызов метода внутри класса с 2мя параметрами, первый - статический, другой напоминает статический обьект из JavaScript! Что это за тип?
2) ну и самое загадочное для меня ((UI*)client). Это какой-то хитрый указатель? Почему звёздочка стоит после слова UI?
|
|
|
|
С нами с 25.02.10
Сообщения: 179
Рейтинг: 146
|
Добавлено: 05/12/17 в 12:52 |
|
|
|
|
Web Developer С++
С нами с 25.11.01
Сообщения: 859
Рейтинг: 759
|
Добавлено: 05/12/17 в 15:06 |
S_Flash писал: |
2) ну и самое загадочное для меня ((UI*)client). Это какой-то хитрый указатель? Почему звёздочка стоит после слова UI? |
это привод client к типу UI
Обычно такое используется когда в функцию передается переменная типа void *, а в функции она уже приводится к нужному типу.
void *ThreadCatGidsInit(void *PRSi) {
TProcRotStsi *Pi = (TProcRotStsi*)PRSi;
..
}
|
|
|
|
📈sflash.biz
С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447
|
Добавлено: 05/12/17 в 16:19 |
DF™: как-то так и подозревал, но почему звёздочка после UI?
Дело в том, что пусть тип был бы адресу указателя UI (хотя я не уверен, что так можно), мы бы его разыменовывали так *UI. Но в данном случае UI*?! Может уже просто в c++ придумали указатели на типы и они именно так передаются!
|
|
|
|
Web Developer С++
С нами с 25.11.01
Сообщения: 859
Рейтинг: 759
|
Добавлено: 05/12/17 в 18:53 |
S_Flash писал: | DF™: как-то так и подозревал, но почему звёздочка после UI?
Дело в том, что пусть тип был бы адресу указателя UI (хотя я не уверен, что так можно), мы бы его разыменовывали так *UI. Но в данном случае UI*?! Может уже просто в c++ придумали указатели на типы и они именно так передаются! |
Справа потому что это приведение к типу.
Когда звездочка слева это, это берем значение по адресу
void func(char **str) {
*str=strdup("test");
..
}
char *text;
func(&text);
puts(text);
>> test
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |