I never said threading support wasn't needed. It will be in a TR.
Rvalues are one of the best thing to happen to the language. One of the reasons auto_ptr is bad is it doesn't have the language's support for rvalues.
Vectors, et. al., do swap pointers. What is your point?
Making good error messages is not possible without knowing the intent. All the compiler knows is the template could not be instantiated with the given arguments. It doesn't know whether you need to fix the template or the parameters.
I wholeheartedly agree with you on the lambda syntax. They go way to far to avoid adding new keywords.
No, that is not the same. The problem with NULL is it resolves to 0, an int expression. If you overload a function to take an int or a pointer, and use NULL, it will incorrectly choice the int form. nullptr will choice the pointer form.
Why does everyone make baseless assumptions about "everyone." I was just citing examples, not writing a book. Where did I say "only use for lambdas is X"? List every use of a language feature is not possible, especially in a forum like Slashdot.
No it's not. The standard does not define concurrency issues. Not how to spawn threads and create mutexes, but lower-level issues, like coherency. This is sorely needed for truly portable code. Rvalue references will help a lot with the creation of temporaries that are just copied and destroyed. You see this now in all the specializations in the libraries for the swap function. With rvalue references, you can write a single template that will be optimal for all types. Currently template error messages are a mess. several lines of unreadable garbage because your type doesn't supply a member or operator that the template needs. Concepts will lead to concise, easy to understand error messages. typedecl and the new use for the auto keyword will reduce verbosity, and stop the nightmare that is figuring out the type of a complex template (i.e., when using Spirit, et. al.). Lambdas and closures will simplify using the STL algorithms without having to create a lot of functors.
REH
A friend of mine ran afoul of a city ordinance that required that if you have a garage, your car must be in it and not parked in your driveway. He had a busy-body neighbor with nothing better to do than report people who violated this law.
What I find help with that is a DVD player that will remember its last position, so when I put the disc back in, it will skip right to the menu (or where ever).
I wouldn't toss the disc. It is proof that you are entitled to a copy of that recording. I never toss discs, even when they are bad, because they are proof I legally own the MP3s that I ripped from them.
I second that. I've rescued a lot CDs with Disc Doctor. The only ones I couldn't save had pinholes in them. In that case, nothing will save them. Any scratched disc can be saved. Is when the printed side is damaged that the disc is unrepairable.
I can't believe utter nonsense like this got modded up. You would dismiss the opinion of experts in human factors because they aren't programmers? Do you dismiss the advice of your doctor because he is not a chemist and doesn't make the drugs he prescribes?
That's how I read it. The guy had some (constructive) criticism. It could hardly be called "bully" except by the extremely sensitive. I think he (the forum owner) was just upset that the guy didn't just shut up and go away.
I don't know. I love my Saturn. My last one (an SC2) had 300K miles on it before I gave it away, without much problems beyond standard maintenance. The coworker I gave it to 3 years ago is still driving it, and he loves it. My current one (an ION coupe) seems to be as reliable as the last one.
What is your point? Your comment doesn't make any sense. Either way, I was not expressing a desire. I was pointing out that x, in my example, is not an ICE (integral constant expression).
Never said I did. I was just pointing out the example didn't disprove what the OP said. By the way, a lot of the values in limits are not constant, specifically min and max--even for integers. You have to use climits and use the macros if you want compile-time constants.
As an example of what I mean, compile the following program with gcc -pedantic. GCC *may* optimize the code, so the value is known at compile-time, but it is not a compile-time constant by C++ rules. It will be rejected with "error: ISO C++ forbids variable-size array `a'". It will compile without the "-pedantic" option as a GCC extension. You cannot rely on all compilers to do this.
I know what const mean in C++. I've been developing C++ professionally for about 15 years. What does "try it" mean? Just be cause it is valid construct doesn't mean it is done at compile-time. These are not defined at compile-time. They are initialized during static construction. It won't be until the next release of the standard until C++ is allowed to create compile-time constants (i.e., an ICE) from a simple, inlined functions.
I never said threading support wasn't needed. It will be in a TR.
Rvalues are one of the best thing to happen to the language. One of the reasons auto_ptr is bad is it doesn't have the language's support for rvalues.
Vectors, et. al., do swap pointers. What is your point?
Making good error messages is not possible without knowing the intent. All the compiler knows is the template could not be instantiated with the given arguments. It doesn't know whether you need to fix the template or the parameters.
I wholeheartedly agree with you on the lambda syntax. They go way to far to avoid adding new keywords.
GC is suppose to be in a later TR.
No, that is not the same. The problem with NULL is it resolves to 0, an int expression. If you overload a function to take an int or a pointer, and use NULL, it will incorrectly choice the int form. nullptr will choice the pointer form.
in C++0x:
int main()
{
auto d = std::make_pair("Bob", 42);
}
ignoring the needed headers.
Why does everyone make baseless assumptions about "everyone." I was just citing examples, not writing a book. Where did I say "only use for lambdas is X"? List every use of a language feature is not possible, especially in a forum like Slashdot.
No it's not. The standard does not define concurrency issues. Not how to spawn threads and create mutexes, but lower-level issues, like coherency. This is sorely needed for truly portable code. Rvalue references will help a lot with the creation of temporaries that are just copied and destroyed. You see this now in all the specializations in the libraries for the swap function. With rvalue references, you can write a single template that will be optimal for all types. Currently template error messages are a mess. several lines of unreadable garbage because your type doesn't supply a member or operator that the template needs. Concepts will lead to concise, easy to understand error messages. typedecl and the new use for the auto keyword will reduce verbosity, and stop the nightmare that is figuring out the type of a complex template (i.e., when using Spirit, et. al.). Lambdas and closures will simplify using the STL algorithms without having to create a lot of functors. REH
A friend of mine ran afoul of a city ordinance that required that if you have a garage, your car must be in it and not parked in your driveway. He had a busy-body neighbor with nothing better to do than report people who violated this law.
So, what eventually happened?
What I find help with that is a DVD player that will remember its last position, so when I put the disc back in, it will skip right to the menu (or where ever).
I wouldn't toss the disc. It is proof that you are entitled to a copy of that recording. I never toss discs, even when they are bad, because they are proof I legally own the MP3s that I ripped from them.
I've got an original UK Harvest release of Pink Floyd's Dark Side of the Moon.
Drool...
I second that. I've rescued a lot CDs with Disc Doctor. The only ones I couldn't save had pinholes in them. In that case, nothing will save them. Any scratched disc can be saved. Is when the printed side is damaged that the disc is unrepairable.
I can't believe utter nonsense like this got modded up. You would dismiss the opinion of experts in human factors because they aren't programmers? Do you dismiss the advice of your doctor because he is not a chemist and doesn't make the drugs he prescribes?
That's how I read it. The guy had some (constructive) criticism. It could hardly be called "bully" except by the extremely sensitive. I think he (the forum owner) was just upset that the guy didn't just shut up and go away.
Alas, I must agree. I once owned a Chevy Monza. *shudder*
I don't know. I love my Saturn. My last one (an SC2) had 300K miles on it before I gave it away, without much problems beyond standard maintenance. The coworker I gave it to 3 years ago is still driving it, and he loves it. My current one (an ION coupe) seems to be as reliable as the last one.
I know, but you need to be careful about propagating the colloquial use of "theory" is my point.
No, you could come up with a million ideas, NOT theories.
I am not sure what you mean.
What is your point? Your comment doesn't make any sense. Either way, I was not expressing a desire. I was pointing out that x, in my example, is not an ICE (integral constant expression).
Except, it is not legal to use floating points as template parameters.
Never said I did. I was just pointing out the example didn't disprove what the OP said. By the way, a lot of the values in limits are not constant, specifically min and max--even for integers. You have to use climits and use the macros if you want compile-time constants.
As an example of what I mean, compile the following program with gcc -pedantic. GCC *may* optimize the code, so the value is known at compile-time, but it is not a compile-time constant by C++ rules. It will be rejected with "error: ISO C++ forbids variable-size array `a'". It will compile without the "-pedantic" option as a GCC extension. You cannot rely on all compilers to do this.
inline int size() {return 5;}
int main()
{
const int x = size();
int a[x];
}
I know what const mean in C++. I've been developing C++ professionally for about 15 years. What does "try it" mean? Just be cause it is valid construct doesn't mean it is done at compile-time. These are not defined at compile-time. They are initialized during static construction. It won't be until the next release of the standard until C++ is allowed to create compile-time constants (i.e., an ICE) from a simple, inlined functions.
He said "at compile time". These are not compile-time constants.
Really? Ada has dozens of "standard" pragmas.