CC
Size: a a a
CC
🦊
std::cin.read(что-тотам)
AB
🦊
CC
std::ostream& placeToOutput = std::cout;
🦊
CC
🦊
CC
CC
RX
AB
CC
cool@archpony ~/D/e/p/c/goodcpp [1]> bat main.cpp
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: main.cpp
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ #include <iostream>
2 │ #include <fstream>
3 │ #include <string>
4 │
5 │ int main()
6 │ {
7 │ std::ostream placeToOutput = std::cout;
8 │ std::string filename;
9 │ std::cout << "Enter filename:" << std::endl;
10 │ std::cin >> filename;
11 │ if (false == filename.empty())
12 │ {
13 │ placeToOutput = std::ifstream(filename);
14 │ }
15 │ return 0;
16 │ }
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
cool@archpony ~/D/e/p/c/goodcpp> g++ main.cpp -o main
main.cpp: In function ‘int main()’:
main.cpp:7:39: error: use of deleted function ‘std::basic_ostream<_CharT, _Traits>::basic_ostream(const std::basic_ostream<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’
7 | std::ostream placeToOutput = std::cout;
| ^~~~
In file included from /usr/include/c++/10.1.0/iostream:39,
from main.cpp:1:
/usr/include/c++/10.1.0/ostream:397:7: note: declared here
397 | basic_ostream(const basic_ostream&) = delete;
| ^~~~~~~~~~~~~
main.cpp:13:47: error: no match for ‘operator=’ (operand types are ‘std::ostream’ {aka ‘std::basic_ostream<char>’} and ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’})
13 | placeToOutput = std::ifstream(filename);
| ^
In file included from /usr/include/c++/10.1.0/iostream:39,
from main.cpp:1:
/usr/include/c++/10.1.0/ostream:408:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator=(std::basic_ostream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]’
408 | operator=(basic_ostream&& __rhs)
| ^~~~~~~~
/usr/include/c++/10.1.0/ostream:408:33: note: no known conversion for argument 1 from ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} to ‘std::basic_ostream<char>&&’
408 | operator=(basic_ostream&& __rhs)
| ~~~~~~~~~~~~~~~~^~~~~
CC
cool@archpony ~/D/e/p/c/goodcpp [1]> bat main.cpp
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: main.cpp
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ #include <iostream>
2 │ #include <fstream>
3 │ #include <string>
4 │
5 │ int main()
6 │ {
7 │ std::ostream placeToOutput = std::cout;
8 │ std::string filename;
9 │ std::cout << "Enter filename:" << std::endl;
10 │ std::cin >> filename;
11 │ if (false == filename.empty())
12 │ {
13 │ placeToOutput = std::ifstream(filename);
14 │ }
15 │ return 0;
16 │ }
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
cool@archpony ~/D/e/p/c/goodcpp> g++ main.cpp -o main
main.cpp: In function ‘int main()’:
main.cpp:7:39: error: use of deleted function ‘std::basic_ostream<_CharT, _Traits>::basic_ostream(const std::basic_ostream<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’
7 | std::ostream placeToOutput = std::cout;
| ^~~~
In file included from /usr/include/c++/10.1.0/iostream:39,
from main.cpp:1:
/usr/include/c++/10.1.0/ostream:397:7: note: declared here
397 | basic_ostream(const basic_ostream&) = delete;
| ^~~~~~~~~~~~~
main.cpp:13:47: error: no match for ‘operator=’ (operand types are ‘std::ostream’ {aka ‘std::basic_ostream<char>’} and ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’})
13 | placeToOutput = std::ifstream(filename);
| ^
In file included from /usr/include/c++/10.1.0/iostream:39,
from main.cpp:1:
/usr/include/c++/10.1.0/ostream:408:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator=(std::basic_ostream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]’
408 | operator=(basic_ostream&& __rhs)
| ^~~~~~~~
/usr/include/c++/10.1.0/ostream:408:33: note: no known conversion for argument 1 from ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} to ‘std::basic_ostream<char>&&’
408 | operator=(basic_ostream&& __rhs)
| ~~~~~~~~~~~~~~~~^~~~~
CC
🦊
std::ostream&
CC
AB
CC
std::ostream&
RX