2014-01-02 3 views
0

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

class vtkArray; 
class VTKIOCORE_EXPORT vtkArrayWriter : public vtkWriter 
{ 
    //Interface description here. 
} 

Я был озадачен выражением `class vtkArray; '. В чем смысл этого заявления? Для чего он используется, когда самое подходящее время для его использования?

Этот код из файла заголовка.

+3

Посмотрите 'вперед декларацию'. http://stackoverflow.com/questions/4757565/c-forward-declaration – kmort

+0

Я бы поставил вопрос с классификацией моего вопроса как «уже ответил». Разумеется, передовые декларации - это концепция, подробно рассмотренная здесь. Но введение концепции и открытие концепции конкретного конкретного примера - это две разные вещи. Мой вопрос - пример последнего, в то время как другие должности являются примерами первого. –

+0

В дополнение к вашему пункту выше, я считаю, что полезно иметь, поскольку вы задавали свой вопрос таким образом, который имел для вас смысл. Будущие поисковики могут использовать тот же словарь, что и вы, и если мы удалим этот пост, им будет сложнее найти нужную информацию. Мне действительно не нравятся ситуации, когда у вас совсем нет словарного запаса, чтобы что-то описать или эффективно искать. Поиск подходящей лексики может помочь в нуле в том, что вам нужно, чтобы учиться очень. Поэтому не беспокойтесь о том, что они закрывают его, поскольку «oh noes !!! уже ответил !!!» И добро пожаловать в переполнение стека. :-) – kmort

ответ

0

Это forward declaration. Он используется главным образом, когда вам нужно объявить тип класса без указания его внутренней формы. Это полезно при работе с указателями или ссылками как заявления, как:

type* x; 
type& x; 

не требуется компилятор знать размер type.

0

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

Edit: Link to explanation of forward declaration

+0

Cyber, да, это было из файла заголовка. –

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