Questions tagged [struct]
8 questions
184
votes
5 answers
When do you use a struct instead of a class?
What are your rules of thumb for when to use structs vs. classes? I'm thinking of the C# definition of those terms but if your language has similar concepts I'd like to hear your opinion as well.
I tend to use classes for almost everything, and use…
RationalGeek
- 10,077
27
votes
9 answers
Is it a security vulnerability to declare class members as public?
I have always wondered whether public, protected, and private has security implications post compilation.
Hypothetically:
class Foo
{
public:
int m_Foo; // Completely vulnerable and dangerous
protected:
int m_Bar; // Possible attack…
Anon
- 3,639
11
votes
1 answer
Why List.Enumerator is struct?
During my investigations of List enumeration I noticed List.Enumerator is struct. In opposite for instance to System.Array.SZArrayEnumerator or System.SZArrayHelper.SZGenericArrayEnumerator that are classes.
It seems this not typical usage…
Yarl
- 298
7
votes
0 answers
Rust and lifetime elision rules for structs?
In the Rust documentation, under the structs section, they give this example of how structs need lifetimes when they contain references:
struct Foo<'a> {
x: &'a i32,
}
because
We need to ensure that any reference to a Foo cannot outlive the…
user138956
6
votes
2 answers
Why does C not support direct array assignment?
In C you cannot assign arrays directly.
int array[4] = {1, 2, 3, 4};
int array_prime[4] = array; // Error
At first I thought this might because the C facilities were supposed to be implementable with a single or a few instructions and more…
CPlus
- 1,209
5
votes
3 answers
Struct or class for wrapping an int when 0 isn't a valid value
I have a business object which is basically a wrapper around a value of type int. There are some constraints for the value/object:
Not every value in int's range is valid1
The valid values are not a predefined discrete set, therefore an enum is not…
0
votes
1 answer
Generalised indexing scheme for variable memory layouts
structs are great, the only problem is that not only do they associate data (topo)logically, they also crystallise a memory layout for that set of concepts. I would like to avoid the latter.
So I'm implementing a concepts-based system. My concepts…
Engineer
- 781
-1
votes
1 answer
Few unusual C/C++ declarations
I came across this Enum and Struct declarations in a project supposedly done by an expert.
The declarations / definitions are little different than what im used to so far.
enum EnumKeys {
KEY_MENU ,
KEY_EXIT ,
KEY_DOWN ,
KEY_UP ,
…
ABCD
- 117