Когда сделали & ldquo; и & rdquo; стать оператором в C ++

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

27
задан Bill 10 March 2010 в 19:33
поделиться

7 ответов

Существует несколько таких альтернатив , определенных в C ++. Вы, вероятно, можете использовать переключатели, чтобы включить / выключить их.

8
ответ дан 28 November 2019 в 04:37
поделиться

Согласно Стандарту C ++ 2.12 существуют предопределенные токены препроцессора, "которые используются в синтаксисе препроцессора или преобразуются в токены для операторов и пунктуаторы ". и - одно из них. В новом стандарте C ++ появился новый стандарт 2.12 / 2:

Кроме того, альтернативные представления, показанные в таблице 4 для некоторых операторов и знаков пунктуации (2.6) , зарезервированы и не должны использоваться в противном случае:

 и and_eq bitand bitor соответствует not 
not_eq or or_eq xor xor_eq 
 
5
ответ дан 28 November 2019 в 04:37
поделиться

Из стандарта C ++ 03, раздел 2.5:

2.5 Альтернативные токены

Альтернативные представления токенов предоставляются для некоторых операторов и знаков препинания. Во всех отношениях языка каждый альтернативный токен ведет себя, соответственно, так же, как его основной токен, за исключением написания. Набор альтернативных токенов определен в таблице 2.

Таблица 2 - альтернативные токены

alternative primary 
  <%         { 
  %>         } 
  <:         [ 
  :>         ] 
  %:         # 
  %:%:       ## 
  and        && 
  bitor      | 
  or         || 
  xor        ˆ 
  compl      ˜ 
  bitand     & 
  and_eq     &= 
  or_eq      |= 
  xor_eq     ˆ= 
  not        ! 
  not_eq     != 
25
ответ дан 28 November 2019 в 04:37
поделиться

Они были добавлены, потому что некоторые из этих символов трудно вводить на некоторых клавиатурах.

3
ответ дан 28 November 2019 в 04:37
поделиться

Они были там с C++ 98. Они перечислены в §2.5/2 стандарта (либо издания 1998 года, либо издания 2003 года). Альтернативные токены включают: и , или , xor, not, bitand, bitor, compl, and_eq, or_eq, xor_eq, not, not_eq.

14
ответ дан 28 November 2019 в 04:37
поделиться

Для отключения этого параметра можно использовать -fno-operator-names. Кроме того, вы можете назвать свой объект std::string чем-то другим!

9
ответ дан 28 November 2019 в 04:37
поделиться

Я не знаю, когда он был представлен, он вполне мог быть там с самого начала, но я считаю, что причина, по которой он существует как альтернатива && для людей с ограниченными наборами символов, т.е. там, где у них фактически нет символа амперсанда.

Есть и многие другие, например. и_экв , или , компл и не , чтобы назвать только выбор.

3
ответ дан 28 November 2019 в 04:37
поделиться
Другие вопросы по тегам:

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