2015-04-27 2 views
0

Long имеет цель C раздражает меня своим решением использовать self вместо this. Теперь, я хочу закончить, что разочарование, помещая этот код где-то на уровне или вблизи начала моей программы:Есть ли последствия для #define this self?

#define this self 

Я знаю, что это будет компилировать, и, вероятно, будет работать, как я ожидал. Однако я не могу не думать, что есть ... непредвиденные последствия для этого. Это безопасная вещь, или есть проблемы, которые возникнут вне простой проблемы, которую я пытаюсь решить?

+5

Я понимаю желание, но я умоляю вас не делать этого, если ваш код читается или поддерживается другими. –

+0

Существуют и другие языки, которые используют 'self', аналогичные Objective-C. Вы должны быть в состоянии соответствовать соглашению языка, а не менять его на то, с чем вам удобно. –

+0

@ EricAmorde О, я не слышал об этом. Что это? –

ответ

6

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

2

Другим последствием является то, что при импорте в код C++ или Objective-C++ он может сломать код, который использует this, превратив его в self, который затем будет неопределенной переменной.

+0

Можете ли вы рассказать о том, что случится? Ваш ответ появился в обзоре VLQ, вероятно, из-за длины. – apaul

Смежные вопросы