Van's House

I'm a developer at C++ team. I'm interested in everything related to C++

Browse by Tags

Tagged Content List
  • Blog Post: Debug vs Release - v2

    Four and half a year ago (how time flies), I wrote a post about the potential issues mixing debug and release CRT in the same program. At the end, it says, 'It's fortunate that this is a linker error. Otherwise, you'll waste lots of time in debugging to find out the subtle incompatibility'. Today...
  • Blog Post: Connect Bugs that I Fixed

    Similar to STL's post on vcblog , I generate a table of connect bugs that I have fixed after I officially worked on the compiler front end: Connect ID Title 581680 Lambda declaration cannot access closure variables when defined as a member function of an inline class ...
  • Blog Post: System.Uri doesn’t allow trailing dot

    Again, System.Uri tries to be smart and does something on my behalf :-( This time, the victim is trailing dot (which is common in wiki pages). See this connect bug for details. The workaround is similar to the one described in this post . The only difference is that we need 'GenericUriParserOptions...
  • Blog Post: System.Uri doesn’t allow embedded escaped slashes

    I use C# a lot to write small utilities and sometimes find that it is annoying to have to dig into the source code to figure out why .Net framework doesn’t work as I expected. This happens again when I am using LinkedIn API (BTW, this is the first occurence of such experience). LinkedIn API allows you...
  • Blog Post: C++0x features in VC2010 - nullptr

    Summary Page ( n3090.pdf is the current working draft of C++0x standard, it is available at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3090.pdf ) What we have before C++0x Everyone knows that null pointer value is NULL. In C++, NULL is defined as follows: #define NULL...
  • Blog Post: C++0x features in VC2010 - some decltype bugs

    1. decltype(*&function) https://connect.microsoft.com/VisualStudio/feedback/details/510640 int foo(); decltype (*&foo) df; // it should be "int (&)()", but it is "int (*)()" The internal representation (it is special for "*&function") doesn’t contain the enough information...
  • Blog Post: C++0x features in VC2010 - decltype

    Summary Page ( n3090.pdf is the current working draft of C++0x standard, it is available at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3090.pdf ) What we have before C++0x When do generic programming in C++, you often have to generate type from template parameters. Type traits...
  • Blog Post: C++0x features in VC2010 - auto

    Summary Page ( n3090.pdf is the current working draft of C++0x standard, it is available at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3090.pdf ) What we have before C++0x C++ is a strongly typed programming language. You have to specify the type when declaring variables. Sometimes...
  • Blog Post: C++0x features in VC2010 - static_assert

    Summary Page ( n3090.pdf is the current working draft of C++0x standard, it is available at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3090.pdf ) What we have before C++0x It is a common task to output meaningful error message from source code based on compile-time conditions...
  • Blog Post: Play with the C++ compiler - compile nightmare

    Playing with the compiler is interesting. One challenge for the compiler writer is compilation performance. There're many kinds of C++ code which are the nightmare for the compiler. Now let's go! 1. Preprocess a. Self Inclusion (GCC only) Normally, the compiler will limit the nest level of inclusion...
  • Blog Post: Magic behind ValueType.Equals

    In "Effective C#", Bill Wagner says "Always create an override of ValueType.Equals() whenever you create a value type". His main consideration is the performance, because reflection is needed to compare two value types memberwisely. In fact, the framework provides optimization for "simple" value type...
Page 1 of 1 (11 items)