I Love that New Syntax Smell

C++ articles, code snippets, musings, etc. from Andy RichIf this is your first time here, you may want to check out my blog introduction.

Browse by Tags

Tagged Content List
  • Blog Post: Properties Part 2 - defining default properties

    Disclaimer. This is an ancient post. By the looks of it, I originally intended to write this almost a year ago, as a follow up to my scalar properties writeup . That was back when I was testing properties (and more exactly, default properties) and some of the design was still in flux. Now it's pretty...
  • Blog Post: C++ DF Discussion on hold

    Astute readers may note two things: 1) It has been a while since I posted what should have been a followup to the previous posts, wherein I complete my discussion of the C++ DF model, and finally get this DF monkey off my back. And 2) that a previous post (DF Part 2, where I actually explain how the...
  • Blog Post: Deterministic Finalization IV - Benefits, part II

    Long ago , I wrote a post on the first part of DF benefits. Now, I'm finally getting back to it. My apologies about the laxness in posting. Blame it on my Cards losing to the Sox. And on being really busy with testpasses and bug bounces for a while. We're finally settling down a little bit, so that gives...
  • Blog Post: Deterministic Finalization III - Benefits, part 1

    I'm pretty angry at blogs.msdn.com right now (or maybe I'm just angry at myself), as it completely nuked a post I had composed, because my session had timed out on it. I went to post, and it asked me to log in, and in the process destroyed a lot of work. I'll try to put my frustrations out of mind, and...
  • Blog Post: Deterministic Finalization I - a primer for CLR Dispose

    A large subject like DF needs a few posts. My generalized plan to lay it out will start by describing the CLR's Dispose pattern, how our DF pattern works, and finally how the two patterns fit together. The CLR's Dispose patterns can be quite confusing. It took me a while to get my mind around Dispose...
  • Blog Post: The C++ "for each" syntax

    For Each? I won't go into a huge justification - suffice to say, there are some instances where it is nice to be able to iterate over a set, and perform operations on each member of that set. A good primer might be the MSDN node on C# foreach . A basic sample. If you're familiar with C++ for statements...
  • Blog Post: Pinning Pointers

    Hot on the heels of my article on interior pointers, comes a much more insightful one by Stan Lippman on the same issue . That happens sometimes. I enjoyed the chat we had on the VC++ 2005 Beta, and I wanted to point that there are two other online chats coming up. One is on upgrading COM apps to .NET...
  • Blog Post: Interior Pointers

    Where's the rest of the properties stuff? I was going to write about default properties in this entry (and have quite a lengthy one saved for future use), but there are a few disagreements I have with the current implementation of default properties, and I want to see those issues resolved before I discuss...
  • Blog Post: Properties Part 1 - the updated property syntax

    What are properties? Technically, properties are CLR "aliases." They are exposed as standard methods, and any compiler that consumes them simply transforms the user's code into the proper function calls. Similarly, any compiler that wants to author CLR properties just needs to follow the naming convention...
  • Blog Post: VC++ Whidbey Beta1 Ships!

    Finally! VC++ 2005 Beta1 has dropped, and we had a little party last Friday to celebrate. It was nothing fancy, and I spent most of my time playing bridge in a corner. The full beta is only available to MSDN Subscribers now, and selected partners, but there's still a way for everyone to play around with...
  • Blog Post: Visual C++ .NET 2003, Free.

    Go here to get a free command-line version of VC++ .NET 2003. For you misers, I'm sure you could trick the 7.0 IDE (or even the 6.0 one) into using these new binaries. This was mentioned on Slashdot on Sunday. I'd recommend carefully reading the included EULA if you intend to use this version of VC...
  • Blog Post: Status, aggregate initialization of CLI arrays

    This is a quickie . I have some other blog posts about interesting material on the horizon, but I'm always wary of posting information without knowing whether I'm going to violate NDA by writing about it. There should be a real flurry of activity when we finally get the Whidbey Beta 1 out our doors,...
  • Blog Post: The CLR team is looking for a few good people

    Joel just posted over on his blog that the CLR team has some open headcount - they're looking to fill a few positions. I can say that working for Microsoft has been one of the most challenging and rewarding experiences of my short life (pay no attention to the fact that I'm posting this on a Saturday...
  • Blog Post: Ain't said nothin' in a while, but some old posts are now available.

    Where you been? Yes, it's true, I've been fairly silent. But I assure you, my reason(s) are good. Mostly, I've been skiing in Colorado, or really busy. But I'm back at work, and once I catch up on the email, there will be more tasty posts from yours truly. (And more code snippets, once I figure out where...
  • Blog Post: Pointer to String chars - Everett style

    Garrett asked: If the source text is in a CLR String, and we want to pass(even read-only) to unmanaged code, it appears that there is no way to get a pointer to the String's buffer directly. We have to use the marshalling stuff to get it there, which in itself makes a copy. Given that one of...
  • Blog Post: The array template

    Some background. In Managed Extensions, the CLI Array was exposed using the keyword __gc [] . If you wanted a CLI array of, say, ten int s named arr , you did: int arr __gc [] = new int __gc [10]; . Then, access into the array worked much like native arrays. If I wanted the fifth element, I did arr[4...
  • Blog Post: C++/CLI operators

    A bit of background. You may recall CLI operators in Managed Extensions: op_Equality, op_Addition, ... so on and so forth. To be sure, not the friendliest set of operators ever, as you had to remember what their names were in order to overload them. How is it different in Whidbey? We're leveraging...
  • Blog Post: Thanks for all the fish...

    The powers-that-be in charge of the GotDotNet have decided to discontinue the blogs on this site. We're being asked to propogate our blogs over to weblogs that are provided by asp.net. Believe me, if I had my choice, I would stick with BlogX and GotDotNet, but now I'm going to be using .text...
  • Blog Post: Boxing (value types, not de la Hoya)

    Grr. Discussions of pugilism aside, I'll try posting again. I had a beautifully written post, with just the right amount of comedy, sure to inform, delight, and be nominated for a Pulitzer, and then I had a slight power glitch, and it took my beautiful, awesome, cool post. Just read the one below, and...
  • Blog Post: Welcome to my blog, V2. (72% recycled material.)

    A bit about myself.   I'm an SDET (Software Design Engineer in Test) working on the front end of the Visual C++ compiler.  My day-to-day tasks include running tests, investigating results, submitting bugs, and writing tests to provide extra coverage on existing and new features.  That's pretty much what...
  • Blog Post: Branbray on handles

    I was going to give a short introduction to the C++ handle (^) today.  But, Brandon did such a good job, I think I'll just link to his article .
  • Blog Post: The value type

    Last time, I discussed the ref type .  This time, I'm going to talk about the value type.  This is the CLR type exposed in Managed Extensions by the __value keyword, and available in Whidbey C++ using the context-sensitive keyword value . What is a value type?   I view value...
  • Blog Post: The ref type

    There are two major CLR types that we expose in Whidbey: ref and value . I'll talk about ref types here, and about value types later. So, what is a ref type?   This is the same type that was exposed in Managed Extensions as __gc .  It is implicitly inherited from the CLR base...
  • Blog Post: Introduction

    Do we really need another blog?   The short answer is: no.  The human race doesn't need another blog.  In general, I'm not too fond of blogs.  But I think they can serve a useful purpose, and these GotDotNet blogs are the first bunch I've seen that actually do. ...
Page 1 of 1 (24 items)