Comments (6)
No sure if this is a different issue but I just want to add that there is something similar going on while using filestreams.
Given:
auto readFile(
std::string const & filename
) -> std::string {
std::ifstream fileStream { filename };
std::string fileString { std::istreambuf_iterator<char> { fileStream }, std::istreambuf_iterator<char> { } };
return fileString;
}
There are two things wrong here. Firstly the constificator warns that std::ifstream fileStream { filename }
should be const, which it cannot since it gets modified while creating the output string. Secondly no warning is given that the fileString should actually be const due to no write access occuring.
Updating the code as follows will result in the correct behaviour, meaning no warning from the constificator for the std::ifstream fileStream { filename }
.
auto readFile(
std::string const & filename
) -> std::string {
std::ifstream fileStream { filename };
return { std::istreambuf_iterator<char> { fileStream }, std::istreambuf_iterator<char> { } };
from issues.
In the example regarding variable filestring
must not be const
, because this would prohibit return-value-optimization.
from issues.
In the example regarding variable filestring must not be const, because this would prohibit return-value-optimization.
I object: [class.copy.elision] (1, 1) ... when the expression is the name of
a non-volatile automatic object (...) with the same type (ignoring cv-qualification) as the function
return type...
from issues.
see http://stackoverflow.com/questions/14429988/can-a-c-compiler-perform-rvo-for-a-const-return-value
I said RVO, but meant move-semantics for the return value.
from issues.
@Darnor The original issue is fixed on the master branch. I looking into the second one. Thanks for reporting!
from issues.
The second issue is fixed and scheduled for release 1.7.0. Thanks again for reporting!
from issues.
Related Issues (20)
- NPE in gslator HOT 1
- Plug-in com.cevelop.codeanalysator.core was unable to load class com.cevelop.codeanalysator.core.menu.TestHandler. HOT 1
- Arraystore exception (mit stacktrace) HOT 2
- Refactoring C-array into std::array uses incorrect size HOT 2
- Content Assist Not Making Suggestions HOT 1
- Cute test viewer should navigate also to successful tests.
- Alert no main class on first startup HOT 12
- Properties menu item is gone HOT 6
- Warning "Return statement has invalid style. Return value should be surrounded by parenthesis" HOT 1
- how to get rid off "Un- or ill-initialized variable" HOT 2
- [Cevelop] Can't update packages HOT 1
- Menu display issues at high DPI
- Cevelope crash if I install plugin C/C++ Unit testing feature HOT 10
- "Save Failed" HOT 1
- Eclipse Marketplace issue HOT 2
- Linticator won't run HOT 1
- Error trying to run Linticator in MCUXpresso HOT 9
- could not create the java virtual machine
- clangd support?
- Download links to binaries on website do not work HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from issues.