Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Вы забыли про редкий, но важный случай int * i;
(Ничем конечно же)
Re: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Первое проблемнее тем, что можно случайно написать
int* a, b;
что будет неверной идеей, когда хочется, чтобы a и b были указателями на int.
Вариант вида (int*) a, b; поддерживался очень редкими компиляторами (сейчас — наверно, вообще никакими).
Можно сделать через typedef, но это дополнительная строка.
Если звёздочку ставить к переменной, то шансы на срабатывание такой ложной автоматики сильно меньше:
int *a, *b;
то же для &.
Больше — ничем.
P.S. По ссылке от solano@ написано то же самое, но удалять уже не буду.
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Ничем не отличаются.
Re: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Расположением пробела отличаются
Раньше можно было вообще так писать и никого это не удивляло
#include <stdio.h>
int main(int argc,char** argv) {
int a=0;
// /?? ^_^ ??/
a--;
a??!=010;
printf("a=%d\n",a);
return 0;
}
output
a=8
Re: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Почитай книжку — "Керниган и Ричи Язык С".
Мне кажется, что неприлично такие вопросы в конфе задавать.
Течёт вода Кубань-реки куда велят большевики.
Re[2]: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
А не рано ли ты вопрос задал? Может всё-таки стоит дописать свои программы на MFC?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Читабельностью.
Попробуй сам найти ответ чем отличается
int *const a;
От
int const *a;
Re: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Хотя это и малоизвестно, ещё есть формы
int*i
int * i
и
int
*
i
Re[2]: Чем отличаются int* i от int *i, int& i от int &i ?
По мне тык *& лучше прижимать не к переменой, а к типу. Они все же являются его частью.
Прижимать к переменным?
При описании параметров функции переменную можно не писать, а вот тип указать обязаны и тут *& уже прижмем к типу...
В параметрах шаблона никаких переменных нет, но тип то указать надо, опять прижимаем к типу...
При работе с переменными мы же не пишем перед ними *&...
Объявление нескольких переменных одного типа через запятую предпочитаю считать ооочень частным случаем, а еще лучше вообще deprecated
Здравствуйте, _niko_, Вы писали:
__>По мне тык *& лучше прижимать не к переменой, а к типу. Они все же являются его частью.
Но когда что-то чуть более сложное приводит к описанию типа int (*func)(int), у тебя при всём желании не будет возможности "прижимать" символы к типу. Поэтому лучше вообще такого не предполагать.
__>Объявление нескольких переменных одного типа через запятую предпочитаю считать ооочень частным случаем, а еще лучше вообще deprecated
Даже согласен, но проблему это не исправит.
The God is real, unless declared integer.
Re: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, RussianFellow, Вы писали:
RF>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>(Речь идёт об объявлении переменных и об объявлении параметров функции).
Зато я начинаю понимать как можно выучить английский за пол года
Здравствуйте, nikov, Вы писали:
RF>>Чем отличаются выражения int* i от int *i, int& i от int &i ? RF>>(Речь идёт об объявлении переменных и об объявлении параметров функции).
N>Хотя это и малоизвестно, ещё есть формы N>
int*i
А как насчёт таких форм?
int
*
i;
int
*
i;
Я вижу в них несомненный потенциал.
The God is real, unless declared integer.
Re[3]: Чем отличаются int* i от int *i, int& i от int &i ?
Здравствуйте, netch80, Вы писали: N>Но когда что-то чуть более сложное приводит к описанию типа int (*func)(int), у тебя при всём желании не будет возможности "прижимать" символы к типу.