|
salimhassan wrote: ...but same result getting assertion erors at run time
What line of what file is asserting?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Sorry, mixed some other issue . Actually that was some debug assertion eror in some other application. that was due to some initialization problem.
I guess I am missing some basic concept fom COM. So going through this as I have started VC++ just a little while ago...
|
|
|
|
|
A Friend function can be avoided if get()(to read) and set()(to write) member functions(public) are provided on (private) data members of a class.
Is it True or False.
Can anyone help me clearing this doubt with an appropriate reason?
|
|
|
|
|
The friend keyword allows you to specify functions or other classes which will be able to access all member (public, protected or private) of the class in which the friend keyword is used. Thus one way to avoid using it would be to provide getters and setters. But this is not always a good approach because all your members will become 'visible' to everybody, which is not always what you want.
|
|
|
|
|
dubeypankaj wrote: A Friend function can be avoided if get()(to read) and set()(to write) member functions(public) are provided on (private) data members of a class.
Is it True or False.
Well, you can do it with a friend function. You use getters-setters to access the read/write the private members. The same can be archived through friends but that would look raw.
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
A friend function basically gives access to the internal data members of a class to an external function.
This can definitely be achieved using getters and setters.
But in reality friend functions are not used for this purpose.
For example, if you look at the CStringT class, the overloaded + operator is declared as a friend function. This is so that the + operator can be used to concatenate two string in the following 2 ways
CString cs1 = L"Hello";
CString cs2 = L"World";
CString cs3 = L"";
cs3 = cs1 + L" World";
cs3 = L"Hello " + cs2;
If the + operator was an ordinary member function of the CStringT class, then only the first call would have been possible.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Anyone know of a simple way to convert bmp to jpg without any expensive conversion library (www.catenary.com ..etc) ??
Thanks
Matt
|
|
|
|
|
See here.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
I don't know if you're using .NET, but .NET bitmaps support both formats, so you can just write your bmp to a file with a jpg extension, and .NET will automatically do the conversion for you.
|
|
|
|
|
What are the problems associated with self assignment(object = object; )?
|
|
|
|
|
Nice subject.
BTW, Generally speaking, I don't see problems. Be aware, anyway, that = operator is called...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
|
well, Vunic, If you don't worry about self assignment, you'll expose yourself to some very subtle bugs that have very subtle and often disastrous symptoms.
|
|
|
|
|
dubeypankaj wrote: you'll expose yourself to some very subtle bugs that have very subtle and often disastrous symptoms
For example..
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
VuNic wrote: For example..
If you do weird things in the = operator (re-)definition, for instance, i.e. if you write it (implicitely) assuming it will be never used to do self-assignment. Have a look at the following code
(please note, it is silly, written just to spot the point; moreover no check is done on memory allocation, for brevity)
class Foo
{
static const int N = 10;
char * _buf;
public:
Foo(char c){_buf = new char [N]; memset(_buf, c, N);}
Foo & operator=(const Foo & foo)
{
if ( _buf )
{
delete _buf;
_buf = new char[N];
}
memcpy(_buf, foo._buf, N);
return *this;
}
Foo(const Foo & foo){...}
};
void main()
{
Foo f('A');
f = f;
}
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: i.e. if you write it (implicitely) assuming it will be never used to do self-assignment.
And why would someone do that? Isn't that considered Best Practice? Or is this question about something entirely different than what I have been able to interpret?
It seems to me that it is about this subject[^]
|
|
|
|
|
led mike wrote: And why would someone do that?
Exactly that? Just CPallini...
led mike wrote: Isn't that considered Best Practice?
Nope, anyway it's a good candidate to be inserted into the WPF (Worst Practice Foundation).
led mike wrote: Or is this question about something entirely different than what I have been able to interpret?
led mike wrote: And why would someone do that? Isn't that considered Best Practice? Or is this question about something entirely different than what I have been able to interpret?
It seems to me that it is about this subject[^]
Nope, you understand it correctly and, damn... If you recalled that page before my post I hadn't to put the weird code therein.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: Nope, anyway it's a good candidate to be inserted into the WPF (Worst Practice Foundation).
It's not considered best practice to implement an assignment operator the way it is shown in the parashift FAQ Lite to exclude self assignment?
|
|
|
|
|
Nope. I was talking about my code sample (supposing your sentence ironical). Sorry for the misunderstanding.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: Sorry for the misunderstanding.
LMAO Some times texting is a a BEE-ATCH!
Using the IPhone would have solved all this
|
|
|
|
|
Thanx for the adjective used for me(Worst Practice Foundation user).
Any way, my question was what are the problems associated with self assignment of an object to itself?
Ppl gave me all the comments and on my programming as well rather to answer my question, but yes, i got the answer, please refer the following link:
http://faqs.cs.uu.nl/na-dir/C++-faq/part06.html
Refer: SECTION [12]: Assignment operators(in the link above)
Thanx & Regards
|
|
|
|
|
dubeypankaj wrote: Thanx for the adjective used for me(Worst Practice Foundation user).
It wasn't used for you, it was for my sample code (see [^])... In a bad mood today?
I just wanted to make Vunic aware that, yes, there might be problems with self-assignment. Of course the link provided by led mike spots the point far better than I did.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
dubeypankaj wrote: What are the problems associated with self assignment
The answer is, whatever problems were introduced in the class being used in the self assignment.
Keep studying.
|
|
|
|
|
If local-time and time-zone are correctly set,
does the function ::GetSystemTime(...) (UTC) return same time value in its parameter in all (different) time-zones?
|
|
|
|