RE: Re: [BULK] Re: Modern C++ Features in Kernel Mode Drivers

The point is with c++ you use what you like, toss what you don’t like. Again, no different than C. There are some that believe c++ means you are required to wrap everything into little objects; it doesn’t.

In college studying PL/I I was taught to never to use a goto or be failed. I went on in my career to avoid goto statements like the plague. C has a goto statement. I have never used it and don’t plan to. Having goto doesn’t make C an evil language. If people misuse it it’s their fault, not that of the language. No one talks about making a C “subset” for kernel and taking out evil things like goto. c++ should always be like this–unlimited instead of having some dodgy folks tell you what you can and cannot do which in their limited opinion is right or wrong.

On Jul 6, 2018, at 7:55 PM, xxxxx@gmail.com wrote:
>
>
>> LARGE_INTEGER x = { .QuadPart = 1000000 };
>>
>> to me is better than
>>
>> LARGE_INTEGER x;
>> x.QuadPart = 1000000;
>>
>> The former is not allowed in C++
>>
>
> The only real C++ standard is GNU C++. Microsoft would do well to
> adopt most of its features.

That was largely true 15 years ago. It is most certainly NOT true today. C++ is truly being driven by the ISO standard, and Visual C++'s compliance record is every bit as good as gcc’s compliance record.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

On Jul 7, 2018, at 8:55 AM, xxxxx@gmail.com wrote:
>
> Once MS comes with c++ WDK, with examples, we will surely follow.

Perhaps you are not aware that multimedia drivers (AVStream and Port-class audio drivers) have been written in C++ for 20 years, with full Microsoft support, including the samples.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.