Первая - это инициализация копирования, вторая - просто назначение. Нет конструктора присваивания.
A aa=bb;
использует созданный компилятором конструктор копий.
A cc;
cc=aa;
использует конструктор по умолчанию для построения cc
, а затем * оператор присваивания ** (operator =
) на уже существующий объект.
Я хочу знать, как выделить память конструктора присваивания и конструктора копирования?
blockquote>IDK, что вы имеете в виду, выделяя память в этом случае, но если вы хочу узнать, что происходит, вы можете:
class A { public : A(){ cout<<"default constructor"<
Я также рекомендую вам взглянуть на:
Почему вместо конструктора преобразования вызывается конструктор конструктора?
Проблема в моем случае была сетевым подключением, которое я использовал для загрузки файла. После переключения сетевого подключения (в мою сеть Wi-Fi LAN) все сработало. Я тестировал его на своем локальном сервере и пытался загрузить файл с использованием внешнего сетевого подключения, кроме локальной сети. Надеюсь, это поможет.
Попробуйте использовать Android HttpsUrlConnection eofexception
Похоже, вам нужно добавить
if (Build.VERSION.SDK != null && Build.VERSION.SDK_INT > 13) { urlConnect.setRequestProperty("Connection", "close"); }
EOFException означает исключение End of File (EOF). EOF используется для указания конца файла. Обычно, если вы хотите прочитать файл до конца, вы выполняете операцию с условием, когда EOF не достиг.
Он несколько похож на «/ 0», присутствующий в конце строки. EOF вместо этого используется для обозначения конца файла
Возможно, вы пытаетесь прочитать файл после достижения EOF, что приведет к тому, что исключение будет поднято