Почему std:: vector:: resize (n, src) проходит по значению?

В основном по названию.

Спецификация для std:: vector :: resize , по-видимому, требует, чтобы объект src передавался значением:

void resize(size_type n, T src = T() );

Почему вместо него не используется ссылка на объект константы?

void resize(size_type n, T const& src = T() );

Например, в этом вопросе аспект pass-by-value, по-видимому, вызывает проблемы стекового переполнения из-за создания

Если бы вместо этого была передана ссылка на src , мы, по крайней мере, смогли бы обойти проблему, выдав временную ссылку на :: resize () .

Также кажется, что :: resize () не соответствует другим функциям члена для std:: vector . Например, конструкторы берут объект src по const & , как и ожидалось:

vector (size_type n, T const& src = T(), Allocator const& = Allocator() );

EDIT: Я выкопал стандарт c++ 03 и дважды проверил, что приведенные выше прототипы функций не являются ошибочными...

-121--1466156-

Как ссылаться на переменные среды ОС в nginx.conf в nginx.conf. После установки переменной путем набора значения $ name, я могу сослаться на него как на $ name, но при экспорте переменной среды ОС по env name_from_env, как https://nginx.org/en/docs/...

В файле nginx.conf.

После установки переменной с помощью установите значение $ name , я могу сослаться на него как $ name ,

Но при экспорте переменной среды ОС по env name_from_env, как https://nginx.org/en/docs/ngx_core_module.html#env сказал, и я уверен, что name_from_env действителен, который определен родительский процесс nginx.

Но, друзья мои, как на него сослаться? $ name _ from _ env или $ {name _ from _ env} или % name _ from _ env% не сработал, как я пытался.

8
задан c33s 14 July 2017 в 09:44
поделиться