In most cases, yes, it's pretty easy. Here are just a few clues that I've seen often enough to remember them easily:
- C++ program will typically end up with at least a few visible symbols that have been mangled.
- C++ program will typically have at least a few calls to virtual functions, which are typically quite distinctive from code you'll typically see in C.
- Many C++ compilers implement a calling convention for C++ that gives special consideration to passing the
this
pointer into C++ member functions. Again, since thethis
pointer simply doesn't exist in C, you'll rarely see a direct analog (though in some cases, they will use the same convention to pass some other pointer, so you need to be careful about this one).