|
in some c++ coding standard guidance i noticed following text written :
"Avoid using short as its still generally packaged into a 32 bit chunk of memory. There are very few places where a short can be justified over a long."
Can someone explain why is it so ?
|
|
|
|
|
That is don't use UNICODE strings?.
BTW probably you should give some more info about the context of the above statement.
Sometimes taking a sentence out of its context doesn't make sense.
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
|
|
|
|
|
Well it seems that author is trying to say that since a short which is 16 bit long is internally stored as 32 bit number it doesn't make sense to use it. I am not sure if this indeed is the case.
-Saurabh
|
|
|
|
|
Saurabh.Garg wrote: I am not sure if this indeed is the case.
It depends on the compiler and platform.
"1==sizeof(char)<=sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long)" is all the standard says.
This tends to be interpreted as "char is 8 bits, short is 16 bits, int is 32 bits and long is 64 bits". But it doesn't need to be that case.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
Yes you are right but if you read original question again it says:
"Avoid using short as its still generally packaged into a 32 bit chunk of memory. There are very few places where a short can be justified over a long."
It clearly indicates that author is implying that short is not 32-bit but is generally packages as 32-bit. So I was just trying to say that I am not sure that short is packaged as 32-bit.
-Saurabh
|
|
|
|
|
Saurabh.Garg wrote: It clearly indicates that author is implying that short is not 32-bit but is generally packages as 32-bit.
There is not ehough information available to rule out any of at least two possibilities:
- They need to support some (exotic?) platform where short == int == long.
- The sentece refers to #pragma pack, which defaults to a 32Bit boundaries to gain a significant speed boost at the expense of a non-significant amount of memory.
The last possibility would be that rule is like 99% of all coding standard rules: Utter crap, designed to stop the programmers from doing real work.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
Well I don't think author meant any of two things you mentioned.
jhwurmbach wrote: The last possibility would be that rule is like 99% of all coding standard rules: Utter crap, designed to stop the programmers from doing real work.
I was really trying to say this but I was being polite
-Saurabh
|
|
|
|
|
Hi !
I am complete pure win32/C++ Guy . I want to Migrate to Visual C++.net.
I saw so many books everything telling for .Net with C# or .Net with Vb or aDO.net or asp.net like that
But I need C++ to Visual C++.net style.
Which is the book for beginning?
Please suggest
|
|
|
|
|
ERLN wrote: I am complete pure
ERLN wrote: Guy .
Hence you can knock, knock, knockin' on heaven's door.
ERLN wrote: I am complete pure win32/C++ Guy . I want to Migrate to Visual C++.net.
ERLN wrote: I saw so many books everything telling for .Net with C# or .Net with Vb or aDO.net or asp.net like that
But I need C++ to Visual C++.net style.
Why?
I mean: remain stuck with C++ for unmanaged applications and use C# for managed ones.
ERLN wrote: Which is the book for beginning?
Many people here (at CP ) suggest Andrew Troelsen books (I'm not his editor), see for instance [^].
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
|
|
|
|
|
look for any c++\cli book! it would better if you look forward to c#, as generally don't find many project in maanged c++
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
I was trying to figure out the code written by Tejpal Singh Chhabra on back-propagation in c++. I liked the code but I cant understand why three dimensional array is used for allocating weight.Can anybody please explain me logic behind this.I am bad in pointers.
Thanks in advance.
|
|
|
|
|
I have no idea about the code, or the problem as such, but if they're allocating a 3d array to store weight values, I'd strongly guess it's because the weight is a function of 3 independent variables?
Say you like a certain combination of cars.
BOOL MyLiking [NUMBEROFCOLOURS][NUMBEROFDOORS][NUMBEROFMANUFACTURERS];
...
MyLinking [RED][2][NUM_SKODA] += 50;
MyLinking [BLUE][4][NUM_BMW] -= 50000;
...
}
I hope that makes a littttttttle bit of sense.
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
Neural Network, one of some thing i fear most
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
I need to change the TOS field of all packet I send. I am not use to program I do not success to make operated this code.
<br />
WSADATA WSAData; <br />
WSAStartup(MAKEWORD(2,0), &WSAData); <br />
<br />
SOCKET sock; <br />
SOCKADDR_IN sin; <br />
sin.sin_addr.s_addr = inet_addr("192.168.4.33");<br />
sin.sin_family = AF_INET;
sin.sin_port = htons(10000);
<br />
sock = socket(AF_INET, SOCK_RAW, 0); <br />
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
<br />
int TOS=0x80; <br />
<br />
while(1)<br />
{<br />
setsockopt(sock, IPPROTO_IP, IP_TOS, (char *)&TOS, sizeof(TOS));<br />
<br />
if (setsockopt(sock, IPPROTO_IP, IP_TOS, (char *)&TOS,<br />
sizeof(TOS)) == SOCKET_ERROR)<br />
printf("\nWarning: Fail to set TOS value: error - %d",<br />
WSAGetLastError());<br />
} <br />
system("PAUSE");<br />
return EXIT_SUCCESS; <br />
}<br />
Someone would have a solution? I just try to modify TOS field at the value 0x80 using the function setsockopt().
Cedric
modified on Friday, March 28, 2008 4:57 AM
|
|
|
|
|
|
So do you know an other issue to mark all TOS IP header fields from all outcoming packets?
|
|
|
|
|
which is the best way to read a line from a text file in c.. the size is not known. and this text needs to be stored in a CString.
|
|
|
|
|
If you're reading it in C, then you can't store it in a CString (C++).
For MFC, you can use CStdioFile and its member function ReadString .
In C, it's a bit harder - you have no idea about the buffer length for your TCHARs (you are using unicode compatible code, I hope...), so you're going to have to keep the current file pointer, read through the file until you hit the end, or a carriage return, calculate the size, rewind, then read the string.
Or read the whole file into memory, and act on it as a big chunk of ram, which will be similar, but faster.
And now someone will come along and tell you to use
WinReadStringFromFile (...); (Made up name, before you look for it)
Good luck,
Iain.
Iain Clarke appears because CPallini still cares.
modified on Friday, March 28, 2008 5:48 AM
|
|
|
|
|
Iain Clarke wrote: CStdio
I believe you intended to say CStdioFile
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
I don't understand what you're talking about. You'll have to check your eyesight then look at my post again.
I'm infallible, dammit!
Iain.
ps, message modified to not mislead people...
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
Of course this is going on my arrogant...
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
|
|
|
|
|
Now, where's that :whistle innocently: smiley...
Iain.
Iain Clarke appears even though CPallini no longer trusts him.
|
|
|
|
|
Iain Clarke wrote: Iain Clarke appears even though CPallini no longer trusts him.
But loves his sentences.
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
|
|
|
|
|
Iain Clarke wrote: I don't understand what you're talking about. You'll have to check your eyesight then look at my post again.
thats why i quoted the comment dude! nice move
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
ThatsAlok wrote:
thats why i quoted the comment dude! nice move
I would have got away with it too, if it wasn't for you pesky detail oriented developers!
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|