Фреймворк модульного тестирования для MATLAB [закрыто]

Мне нравится использовать следующую форму для объявления «явных констант» . В этом случае само значение является константой, поэтому я ставлю сначала «const» ( то же самое, что и у Бьярне ), чтобы подчеркнуть, что константность должна проявляться во время компиляции и использоваться как таковая для конкретных оптимизаций с помощью компилятор.

const int i = 123;

Для объявления ссылок, которые не будут использоваться для изменения значения, я использую следующую форму, которая подчеркивает тот факт, что идентификатор является «постоянной ссылкой». Указанное значение может быть или не быть константой. [Связанное обсуждение: Вы бы даже использовали «const» для параметров функции, если бы они не были указателями или ссылками? Использование «const» для параметров функции ]

void fn( int const & i );

Для указателей я использую ту же форму, что и для ссылок, по сути по той же причине (хотя термин «постоянный указатель») "кажется немного более двусмысленным, чем" постоянная ссылка ").

void fn( int const * i );

Кроме того, как заметил другой автор, эта форма остается последовательной, когда у вас есть несколько уровней косвенности.

void fn( int const * const * i );

Последний сценарий, где вы объявляете указатель, который является постоянным, довольно редко встречается в моем опыте с C ++. В любом случае, у вас действительно нет выбора здесь. [Этот случай демонстрирует, что наиболее последовательным подходом было бы поставить слово «const» после типа - поскольку для этого конкретного объявления фактически требуется .]

void fn( int * const i );

... если вы не используете typedef.

typedef int * IntPtr;

void fn1( const IntPtr i );
void fn2( IntPtr const i );

И последнее замечание: если вы не работаете в домене низкого уровня, большая часть кода C ++ не должна никогда не объявлять указатель . Следовательно, этот аспект этого обсуждения, вероятно, больше относится к C.

23
задан lindelof 21 October 2010 в 21:52
поделиться

1 ответ

mUnit делает свое дело: http://www.mathworks.com/matlabcentral/fileexchange/11306-munit-a-unit-testing-framework-in-matlab

I Пользуюсь им> 2 года. Мне пришлось сделать некоторые изменения, такие как печать гиперссылок в командном окне matlab вместо простого текста (чтобы быстро перейти туда, где произошла ошибка). Тем не менее, это достаточно хорошо.

2
ответ дан 29 November 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: