данного класса (например, с именем X), я хочу выделить массив следующим образом:X** array=new X*[20];
Давайте посмотрим на следующую функцию:
void Func(){  
  X** array=new X*[2];  
  X[0]=& X(5);
  X[1]=& X(3);
}  
Это нормально делать так или я должен делать это с new?
                                                                    
                                                                    
                                                                    
                                                                    
new? (или что я не могу сделать это безnew[вообще], потому что это временный объект) 04.06.2018array. Если вам просто нужны два объектаX, вы должны определитьX array[2];. Если по какой-то причине вы знаете, что вам нужно сохранить два результатаnew X, вам понадобитсяX* array[2]. 04.06.2018X* array[2]я должен определить конструктор по умолчанию в классе X? 04.06.2018class X! Вы можете использовать предварительное объявление, то естьclass X;. Определениеclass Xнеобходимо только тогда, когда вам нужны фактические объектыX, но опять же, обычно этот вопрос вообще не возникает. 04.06.2018nullptr, просто это не единственная возможная инициализация. Это не зависит от компилятора или платформы. 04.06.2018