You Are Here:

Community: Blogs

Open Source Bluetooth PAN's Forum Nokia Blog

Difference between the pointers in Carbide c++ and C++

Carbider | 17 October, 2007 16:11

One more difference between Carbide C++ and standard C++ that I found while porting is pointers maintaining.
If you have a pointer 'p'
void *p = other_pointer;
in C you can sum it up with integer value to walk through memory:
p += sizeof(uint8_t);
That is frequently used in BlueZ libraries.
But Carbide doesn't allow such manipulation motivating with:
"illegal operands 'void *' + 'unsigned int'"
That is because Carbide is more strict with types than C is.
So to move through memory I need that pointer 'p' would be a pointer to specific data type, not ‘void’.
I decided, 'p' should be a pointer to 'uint8_t' because it is used as type’s length to determine data’s displacement step.
So the final declaration looks like this:
uint8_t *p;;

p += sizeof(uint8_t);

 
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fsummaryE2ephpE3fopE3dPostE4cistE26globalArticleCategoryIdE3d1E26pageE3d6X qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZBlogContentQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtypeQUqfntypeZBlogContentQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZBlogContentQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ