Size: a a a

2020 August 05

CC

Cool Cooler in C++ Together 2.0
А у меня вроде бы c++11, но я хз
источник

p

pika42 in C++ Together 2.0
Cool Cooler
А у меня вроде бы c++11, но я хз
чекни
источник

CC

Cool Cooler in C++ Together 2.0
pika42
там итератор, с 17 плюсов можно красивее
Допустим, у меня c++1
Как мне надо делать?
источник

CC

Cool Cooler in C++ Together 2.0
pika42
чекни
Ох, я ща IDE заюзал, хз, как там чекать
источник

p

pika42 in C++ Together 2.0
Cool Cooler
Ох, я ща IDE заюзал, хз, как там чекать
напиши auto& current = layers.emplace_back();
источник

p

pika42 in C++ Together 2.0
если скомпилится, значит 17ые)
источник

CC

Cool Cooler in C++ Together 2.0
pika42
напиши auto& current = layers.emplace_back();
[1/2] Building CXX object CMakeFiles/different_approach.dir/main.cpp.o
FAILED: CMakeFiles/different_approach.dir/main.cpp.o
/usr/bin/c++   -g -MD -MT CMakeFiles/different_approach.dir/main.cpp.o -MF CMakeFiles/different_approach.dir/main.cpp.o.d -o CMakeFiles/different_approach.dir/main.cpp.o -c ../main.cpp
../main.cpp: In member function ‘void Neural_net::initial_allocation(int, int*)’:
../main.cpp:114:49: error: forming reference to void
 114 |             auto& current = layers.emplace_back();
     |                                                 ^
ninja: build stopped: subcommand failed.
*** Failure: Exit code 1 ***
источник

p

pika42 in C++ Together 2.0
значит 11
источник

CC

Cool Cooler in C++ Together 2.0
pika42
значит 11
А как мне правильно делать?
источник

CC

Cool Cooler in C++ Together 2.0
И почему мой способ неправильный?
источник

p

pika42 in C++ Together 2.0
Cool Cooler
А как мне правильно делать?
тогда auto last = layers.back();
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
А там случайно копирования не будет?
Мне надо изменять объект, который прям в векторе находится
at ссылку возвращает
источник

🦊

🦊fox.cpp in C++ Together 2.0
На объект в векторе
источник

p

pika42 in C++ Together 2.0
🦊fox.cpp
at ссылку возвращает
ты не туда  ответил) я случайно сообщение удалил, он на удаленное сообщение спрашивал
источник

🦊

🦊fox.cpp in C++ Together 2.0
Мм
источник

CC

Cool Cooler in C++ Together 2.0
pika42
тогда auto last = layers.back();
layers.emplace_back();
Layer_information* current_layer = &(layers.at(layers.size() - 1));
current_layer->number_of_nodes = 8;
auto last = layers.back();
last.number_of_nodes = 5;
std::cout << last.number_of_nodes << std::endl;
std::cout << current_layer->number_of_nodes << std::endl;

Выводит то 5, то 8
Wtf?
источник

p

pika42 in C++ Together 2.0
Cool Cooler
layers.emplace_back();
Layer_information* current_layer = &(layers.at(layers.size() - 1));
current_layer->number_of_nodes = 8;
auto last = layers.back();
last.number_of_nodes = 5;
std::cout << last.number_of_nodes << std::endl;
std::cout << current_layer->number_of_nodes << std::endl;

Выводит то 5, то 8
Wtf?
секундочку
источник

p

pika42 in C++ Together 2.0
Cool Cooler
layers.emplace_back();
Layer_information* current_layer = &(layers.at(layers.size() - 1));
current_layer->number_of_nodes = 8;
auto last = layers.back();
last.number_of_nodes = 5;
std::cout << last.number_of_nodes << std::endl;
std::cout << current_layer->number_of_nodes << std::endl;

Выводит то 5, то 8
Wtf?
проебался. бэк не итератор вовзращает. надо auto& last = layers.back();
источник

CC

Cool Cooler in C++ Together 2.0
pika42
проебался. бэк не итератор вовзращает. надо auto& last = layers.back();
Отлично, спасибо!
источник

CC

Cool Cooler in C++ Together 2.0
Да!!
источник