Ошибки, баги, вопросы - страница 1536

[Удален]  
comp:
Оператор присваивания же работает для структур, как и для стандартных типов. Почему тогда передать нельзя без ссылки?
Предположу, что если структуры будут очень большими, а пользователи будут гонять их в функции по значению, не осознавая, что при этом создается копия структуры, это будет очень тормозить работу программы. Защита от дурака.
[Удален]  
Alexey Kozitsyn:
Предположу, что если структуры будут очень большими, а пользователи будут гонять их в функции по значению, не осознавая, что при этом создается копия структуры, это будет очень тормозить работу программы. Защита от дурака.
Наверное, чтобы с вызовом конструкторов структур не возникало сложных моментов.
 
comp:
Оператор присваивания же работает для структур, как и для стандартных типов. Почему тогда передать нельзя без ссылки?
странно, а как вы себе предполагаете передать сложный тип данного (типа структура) не по ссылке? да и теоретически представьте себе как это должно вообще быть, если по sizeof размер структуры не постоянен, то компилятор на этапе компиляции должен вычислить размер объекта структуры и... уффф, даже и предположить то страшно какой компилятор должен быть умный, такого нет даже в срр :)
[Удален]  
coderex:
странно, а как вы себе предполагаете передать сложный тип данного (типа структура) не по ссылке? да и теоретически представьте себе как это должно вообще быть, если по sizeof размер структуры не постоянен, то компилятор на этапе компиляции должен вычислить размер объекта структуры и... уффф, даже и предположить то страшно какой компилятор должен быть умный, такого нет даже в срр :)
Вы хотите сказать, что в функцию аргументом структуру по значению не передать в С++?
 

Возможно ли сохранять шаблоны в иную папку нежели  каталог_терминала\Profiles\Templates\  ?

Например Шаблон сохраняется в папку каталог_терминала\Profiles\Templates\temp ?

 

Небольшой баг в терминале МТ4 950

2016.03.25 23:09:07.181 Windows 7 Ultimate (x64 based PC), IE 11.00, 8 x Intel Core i7-6700  @ 3.40GHz, RAM: 20993 / 32684 Mb, HDD: 26072 / 1498122 Mb, GMT+02:00

 

при открытии журнала

 

 

время на сервере уже 26 марта, но на компьютере еще 25 марта,

логи записываются по времени компьютера,

а журнал появляется и подставляется время серверное?

 

 

получается что записей не видно,

конечно баг не серьезный - но может запутать.  

спустя 4 минуты 27 секунд доперло почему записей не видно  

 
Alexey Kozitsyn:
Вы хотите сказать, что в функцию аргументом структуру по значению не передать в С++?
можно, но не как обычный (фундаментальный) типа данного, есть определенное правило для передачи структур в качестве аргумента в функцию по значению :)
[Удален]  
coderex:
странно, а как вы себе предполагаете передать сложный тип данного (типа структура) не по ссылке? да и теоретически представьте себе как это должно вообще быть, если по sizeof размер структуры не постоянен, то компилятор на этапе компиляции должен вычислить размер объекта структуры и... уффф, даже и предположить то страшно какой компилятор должен быть умный, такого нет даже в срр :)

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

struct A
{
};

struct B
{
  string Str;
};

void F( void )
{
  A a1, a2;
  
  a1 = a2; // no problem

  B b1, b2;

  b1 = b2; // '=' - structure have objects and cannot be copied
  
  return;
}
 
comp:

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

))) оператор присваивания сработает только если структура простая, а у вас структура B имеет поле string, что уже говорит о том, что эта структура не простая, а имеет сложный тип... и к чему этот пример был приведен? вы задали вопрос о передаче структуры в качестве аргумента в функцию не по ссылке, а путем копирования, я вам ответил, что даже в cpp так сделать не получится, там есть одно правило для этого, в Интернете информации много по этому поводу...
[Удален]  
coderex:
))) оператор присваивания сработает только если структура простая, а у вас структура B имеет поле string, что уже говорит о том, что эта структура не простая, а имеет сложный тип... и к чему этот пример был приведен? вы задали вопрос о передаче структуры в качестве аргумента в функцию не по ссылке, а путем копирования, я вам ответил, что даже в cpp так сделать не получится, там есть одно правило для этого, в Интернете информации много по этому поводу...

Мой пример это и демонстрирует. Компилятор отлично понимает, когда можно присваивать, а когда нет. И это полная аналогия того, когда можно передавать только по ссылке, а когда можно еще и в качестве аргумента.

Вопрос был "почему ВСЕГДА нельзя?". Отвечать, потому что где-то там что-то тоже нельзя - не катит. Спрашиваю, почему нельзя на самом деле с точки зрения архитектуры языка? Что там может пойти не так, чтобы от этого отказаться?