sizeof is a compile-time operation so x need to be known at compile time.
It didn't work as expected. It turns out there is an exception and the standard says that sizeof is actually calculated at runtime specifically for variable length arrays:
> The sizeof operator yields the size (in bytes) of its operand, which may be an expression or the parenthesized name of a type. The size is determined from the type of the operand. The result is an integer. If the type of the operand is a variable length array type, the operand is evaluated; otherwise, the operand is not evaluated and the result is an integer constant.
His position and influence still has enough weight to make a poor interaction with him a career limiting event.
I think that's what OP was referring to, he's still the guy that founded Microsoft. He's as figurative and influential as any boss I'd ever hope to meet.
It is if the object can't be meaningfully cast to the type. I'd expect to get an exception. That's why they exist.
For example, consider explicitly casting the string "abc" to an int. Python throws a ValueError. Ruby silently ignores the problem and gives 0. I consider the Ruby behavior to be a gotcha.
If you want to "explicitly cast" to an Integer only when the string strictly represents an int in Ruby you shouldn't be calling to_i. The Ruby behaviour is only a gotcha of you don't know the proper way of doing this in Ruby.
If you want an Integer or an exception you would call Integer(). If you want an Integer or nil, you would call Integer.try_convert(). If you call to_i, you're explicitly asking for a best-effort conversion, and shouldn't be surprised that's what you get.
The other NYC bridges are all (I think?) named Bridge, but they went with Crossing here because Outerbridge Bridge sounds weird.
Another NYC one: A lot of people think "major" in The Major Deegan Expressway means it is a significant expressway, but actually the expressway is named after (Army) Major William Deegan
Maybe I'm weird but I think NYC area has numerous semi-poetic sounding roads (while most of the country just uses route numbers): Harlem River Drive, Cross Bronx, Major Deegan, Van Wyck, Belt Parkway, Grand Central Parkway, the Taconic, Palisades Parkway, the B.Q.E., the Sprain Brook. Plus the Verrazano and Tappan Zee.
Houston does the same with its highways, and, in fact, they have different names depending on their relation to downtown. For example, I-45 is both the Gulf Freeway and North Freeway, 59 is both Eastex and Southwest.
Austin also has named highways (Mopac, Capital of Texas, Research), except I-35, which I was once told was because "it was the only one not created locally."
The usual justification for having a concept of "undefined behavior" at all is specifically to allow compilers to "rule out this possibility" so they can make this sort of optimization.