Язык программирования C++. Вводный курс


         

Эквивалентная пара, определяющая по одному


Эквивалентная пара, определяющая по одному объекту, выглядит так:











vector<string>::iterator iter = text.begin();



vector<string>::iterator lend = text.end();

Хотя определение одного или нескольких объектов в одном предложении является скорее вопросом вкуса, в некоторых случаях – например, при одновременном определении объектов, указателей и ссылок – это может спровоцировать появление ошибок. Скажем, в следующей инструкции не совсем ясно, действительно ли программист хотел определить указатель и объект или просто забыл поставить звездочку перед вторым идентификатором (используемые имена переменных наводят на второе предположение):











// то ли хотел определить программист?



string *ptrl, ptr2;

Эквивалентная пара инструкций не позволит допустить такую ошибку:











string *ptr1;



string *ptr2;

В наших примерах мы обычно группируем определения объектов в инструкции по сходству употребления. Например, в следующей паре











int aCnt=0, eCnt=0, iCnt=0, oCnt=0, uCnt=0;



int charCnt=0, wordCnt=0;

первая инструкция объявляет пять очень похожих по назначению объектов – счетчиков пяти гласных латинского алфавита. Счетчики для подсчета символов и слов определяются во второй инструкции. Хотя такой подход нам кажется естественным и удобным, нет никаких причин считать его хоть чем-то лучше других.

Упражнение 5.1

Представьте себе, что вы являетесь руководителем программного проекта и хотите, чтобы применение инструкций объявления было унифицировано. Сформулируйте правила использования объявлений объектов для вашего проекта.

Упражнение 5.2

Представьте себе, что вы только что присоединились к проекту из предыдущего упражнения. Вы совершенно не согласны не только с конкретными правилами использования инструкций объявления, но и вообще с навязыванием каких-либо правил для этого. Объясните свою позицию.


Содержание  Назад  Вперед