История изменений
Исправление alysnix, (текущая версия) :
Советую попробовать читать. Прекращайте позориться, посмотрите хотя бы godbolt.
советую начинать ориентироваться в окружающем пространстве и топике в частности. вы написали пример, лютейше неадекватный обсуждаемому вопросу.
мы обсуждаем передачу в функцию структурного типа!!! по значениию и по ссылке. где мол и как это будет копироваться.
вы пишете структурный тип, без единого поля!!!. то есть копировать там просто нечего. и пишете функции передачи типа нулевой длины по ссылке и значению.
затем. вы пишете функцию куда передается по значению обьект нулевой длины… и о чудо! она оказывается совсем короткой. ну правильно. вы в функцию передали только адрес источника, длина ноль, ничто не копируется. код короткий. или вы думаете компилятор вам сгенерит код для копирования нуля байт?
потрудитесь ввести хотя б 4 int поля в свой обьект, чтобы было хоть что копировать.
дальше. даже если вы добавите поля, ваша функция, что берет по значению структуру, ничего с ней не делает, то есть функция у вас пустая. в таком случае компилятор вряд ли станет генерить код взятия копии, поскольку с этой нет вообще никакой работы и соптимизирует его. сделайте хоть что-то с копией то!
в микроскопический пример вы засадили 2 принципиальные баги короче.
и уберите там писанину в сout, не засоряйте год всякой чепухой.
и вот когда вы все это до ума доведете, увидите что я прав.
Исправление alysnix, :
Советую попробовать читать. Прекращайте позориться, посмотрите хотя бы godbolt.
советую начинать ориентироваться в окружающем пространстве и топике в частности. вы написали пример, лютейше неадекватный обсуждаемому вопросу.
мы обсуждаем передачу в функцию структурного типа!!! по значениию и по ссылке. где мол и как это будет копироваться.
вы пишете структурный тип, без единого поля!!!. то есть копировать там просто нечего. и пишете функции передачи типа нулевой длины по ссылке и значению.
затем. вы пишете функцию куда передается по значению обьект нулевой длины… и о чудо! она оказывается совсем короткой. ну правильно. вы в функцию передали только адрес источника, длина ноль, ничто не копируется. код короткий. или вы думаете компилятор вас сгенерит код для копирования нуля байт?
потрудитесь ввести хотя б 4 int поля в свой обьект, чтобы было хоть что копировать.
дальше. даже если вы добавите поля, ваша функция, что берет по значению структуру, ничего с ней не делает, то есть функция у вас пустая. в таком случае компилятор вряд ли станет генерить код взятия копии, поскольку с этой нет вообще никакой работы и соптимизирует его. сделайте хоть что-то с копией то!
в микроскопический пример вы засадили 2 принципиальные баги короче.
и уберите там писанину в сout, не засоряйте год всякой чепухой.
и вот когда вы все это до ума доведете, увидите что я прав.
Исходная версия alysnix, :
Советую попробовать читать. Прекращайте позориться, посмотрите хотя бы godbolt.
советую начинать ориентироваться в окружающем пространстве и топике в частности. вы написали пример, лютейше неадекватный обсуждаемому вопросу.
мы обсуждаем передачу в функцию структурного типа!!! по значениию и по ссылке. где мол и как это будет копироваться.
вы пишете структурный тип, без единого поля!!!. то есть копировать там просто нечего. и пишете функции передачи типа нулевой длины по ссылке и значению.
затем. вы пишете функцию куда передается по значению обьект нулевой длины… и о чудо! она оказывается совсем короткой. ну правильно. вы в функцию передали только адрес источника, длина ноль, ничто не копируется. код короткий. или вы думаете компилятор вас сгенерит код для копирования нуля байт?
потрудитесь ввести хотя б 4 int поля в свой обьект, чтобы было хоть что копировать.
дальше. даже если вы добавите поля, ваша функция, что берет по значению структуру, ничего с ней не делает, то есть функция у вас пустая. в таком случае компилятор вряд ли станет генерить код взятия копии, поскольку с этой нет вообще никакой работы и соптимизирует его. сделайте хоть что-то с копией то!
в микроскопический пример вы засадили 2 принципиальные баги короче.
и уберите там всякую писанину в сout, не засоряйте год всякой чепухой.
и вот когда вы все это до ума доведете, увидите что я прав.