Sponsored Content
Top Forums Programming Function pointer to inline function ? Post 302355696 by Corona688 on Wednesday 23rd of September 2009 12:10:46 PM
Old 09-23-2009
Quote:
Originally Posted by emitrax
In the subject, I wrote function pointer to inline function, because I was wondering if the empty function could be inline to improve performances and avoid the function call overhead.
Are you typing up these responses in another program then copy-pasting? You don't need to do that, it adds pointless extra linebreaks. The text will wrap by itself when it needs to.

The performance difference between a function pointer and if/else is not going to be significant here, use whatever is clearest. If it was a choice between three or more functions, a function pointer might be more efficient and elegant.
 

10 More Discussions You Might Find Interesting

1. Programming

Will exe file size decrease while using inline function

using namespace std; void g(); class A { public : A() { g();g();g(); cout << "Constructor of A"<< endl ;} }; inline void g(){ cout << "vijay" <<endl; } int main() { A a; } when i use inline i get size 303488 Aug 31 12:05 a.out* when not using inline i get size 303572 Aug 31... (1 Reply)
Discussion started by: vijaysabari
1 Replies

2. Programming

Problem with function which reutrns pointer to a value

i have a function: char *pcCityIdToCountryName(ADMIN_DB_DATA *pstHEader, unit uiCityID) this returns a pointer to CountryName if cityId is given. to retrieve countryname i give: char *CountryName; CountryName = pcCityIdToCountryName(..................); but when i compile it is giving :... (5 Replies)
Discussion started by: jazz
5 Replies

3. Programming

How to return void function pointer

Hello all im trying to build function that will return void function pointer what is mean is ( not working ) the main function void * myClass::getFunction(int type){ if(type==1) return &myClass::Test1; if(type==2) return &myClass::Test2; } void myClass::Test1(){... (1 Reply)
Discussion started by: umen
1 Replies

4. Programming

Inline function inside Classes

#include <iostream> using namespace std; class A { public: int Getvalue() { return i;} private: int i; }; int main() {} The above code compiles properly in g++ or in any other C++ compiler. BUT, the variable 'i' is used (in 'return i' statement) before it is... (1 Reply)
Discussion started by: deepthi.s
1 Replies

5. Programming

Function Returning Pointer

Hi guys. how a functions such fdopen, ... can return pointer? are these functions use static memory(variables)? (6 Replies)
Discussion started by: majid.merkava
6 Replies

6. Programming

structure pointer array as function parameters

if i create an array of pointers to a structure "struct node" as: struct node *r; and create "n" number of "linked lists" and assign it to the various struct pointers r using some function with a return type as structure pointer as: r=multiplty(.......) /*some parameters*/ is... (2 Replies)
Discussion started by: mscoder
2 Replies

7. Programming

Trivial doubt about C function pointer

Hi, In the below C code, #include <stdio.h> void print() { printf("Hello\n"); } int main() { void (*f)() = (void (*)()) print; f(); (*f)(); } I wonder, how the syntaxes "f()" and "(*f)()" are treated as same without any error? Is this an improvement or ANSI/ISO... (1 Reply)
Discussion started by: royalibrahim
1 Replies

8. Programming

Pure C function pointer on printing vowels twice

Have difficulty to understand this pure C code to only print vowels twice from input string. Questions are commented at the end of each place. #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <limits.h> /* *Demonstrate the use of dispatch tables */ /*Print a char... (11 Replies)
Discussion started by: yifangt
11 Replies

9. Programming

Segmentation fault when I pass a char pointer to a function in C.

I am passing a char* to the function "reverse" and when I execute it with gdb I get: Program received signal SIGSEGV, Segmentation fault. 0x000000000040083b in reverse (s=0x400b2b "hello") at pointersExample.c:72 72 *q = *p; Attached is the source code. I do not understand why... (9 Replies)
Discussion started by: jose_spain
9 Replies

10. Shell Programming and Scripting

Function - Make your function return an exit status

Hi All, Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition. #Body function1() { if then echo "exist" else echo "not exist" } #if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies
std::auto_ptr< _Tp >(3) 				     Library Functions Manual					   std::auto_ptr< _Tp >(3)

NAME
std::auto_ptr< _Tp > - SYNOPSIS
Public Types typedef _Tp element_type Public Member Functions auto_ptr (element_type *__p=0) throw () auto_ptr (auto_ptr &__a) throw () template<typename _Tp1 > auto_ptr (auto_ptr< _Tp1 > &__a) throw () auto_ptr (auto_ptr_ref< element_type > __ref) throw () ~auto_ptr () element_type * get () const throw () template<typename _Tp1 > operator auto_ptr< _Tp1 > () throw () template<typename _Tp1 > operator auto_ptr_ref< _Tp1 > () throw () element_type & operator* () const throw () element_type * operator-> () const throw () auto_ptr & operator= (auto_ptr &__a) throw () template<typename _Tp1 > auto_ptr & operator= (auto_ptr< _Tp1 > &__a) throw () auto_ptr & operator= (auto_ptr_ref< element_type > __ref) throw () element_type * release () throw () void reset (element_type *__p=0) throw () Detailed Description template<typename _Tp>class std::auto_ptr< _Tp > A simple smart pointer providing strict ownership semantics. The Standard says: An auto_ptr owns the object it holds a pointer to. Copying an auto_ptr copies the pointer and transfers ownership to the destination. If more than one auto_ptr owns the same object at the same time the behavior of the program is undefined. The uses of auto_ptr include providing temporary exception-safety for dynamically allocated memory, passing ownership of dynamically allocated memory to a function, and returning dynamically allocated memory from a function. auto_ptr does not meet the CopyConstructible and Assignable requirements for Standard Library container elements and thus instantiating a Standard Library container with an auto_ptr results in undefined behavior. Quoted from [20.4.5]/3. Good examples of what can and cannot be done with auto_ptr can be found in the libstdc++ testsuite. _GLIBCXX_RESOLVE_LIB_DEFECTS 127. auto_ptr<> conversion issues These resolutions have all been incorporated. Definition at line 87 of file auto_ptr.h. Member Typedef Documentation template<typename _Tp> typedef _Tp std::auto_ptr< _Tp >::element_type The pointed-to type. Definition at line 94 of file auto_ptr.h. Constructor &; Destructor Documentation template<typename _Tp> std::auto_ptr< _Tp >::auto_ptr (element_type *__p = 0) [inline], [explicit] An auto_ptr is usually constructed from a raw pointer. Parameters: __p A pointer (defaults to NULL). This object now owns the object pointed to by __p. Definition at line 103 of file auto_ptr.h. template<typename _Tp> std::auto_ptr< _Tp >::auto_ptr (auto_ptr< _Tp > &__a) [inline] An auto_ptr can be constructed from another auto_ptr. Parameters: __a Another auto_ptr of the same type. This object now owns the object previously owned by __a, which has given up ownership. Definition at line 112 of file auto_ptr.h. template<typename _Tp> template<typename _Tp1 > std::auto_ptr< _Tp >::auto_ptr (auto_ptr< _Tp1 > &__a) [inline] An auto_ptr can be constructed from another auto_ptr. Parameters: __a Another auto_ptr of a different but related type. A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type. This object now owns the object previously owned by __a, which has given up ownership. Definition at line 125 of file auto_ptr.h. template<typename _Tp> std::auto_ptr< _Tp >::~auto_ptr () [inline] When the auto_ptr goes out of scope, the object it owns is deleted. If it no longer owns anything (i.e., get() is NULL), then this has no effect. The C++ standard says there is supposed to be an empty throw specification here, but omitting it is standard conforming. Its presence can be detected only if _Tp::~_Tp() throws, but this is prohibited. [17.4.3.6]/2 Definition at line 170 of file auto_ptr.h. template<typename _Tp> std::auto_ptr< _Tp >::auto_ptr (auto_ptr_ref< element_type >__ref) [inline] Automatic conversions. These operations convert an auto_ptr into and from an auto_ptr_ref automatically as needed. This allows constructs such as * auto_ptr<Derived> func_returning_auto_ptr(.....); * ... * auto_ptr<Base> ptr = func_returning_auto_ptr(.....); * Definition at line 260 of file auto_ptr.h. Member Function Documentation template<typename _Tp> element_type* std::auto_ptr< _Tp >::get (void) const [inline] Bypassing the smart pointer. Returns: The raw pointer being managed. You can get a copy of the pointer that this object owns, for situations such as passing to a function which only accepts a raw pointer. Note: This auto_ptr still owns the memory. Definition at line 211 of file auto_ptr.h. template<typename _Tp> element_type& std::auto_ptr< _Tp >::operator* () const [inline] Smart pointer dereferencing. If this auto_ptr no longer owns anything, then this operation will crash. (For a smart pointer, no longer owns anything is the same as being a null pointer, and you know what happens when you dereference one of those...) Definition at line 181 of file auto_ptr.h. template<typename _Tp> element_type* std::auto_ptr< _Tp >::operator-> () const [inline] Smart pointer dereferencing. This returns the pointer itself, which the language then will automatically cause to be dereferenced. Definition at line 194 of file auto_ptr.h. template<typename _Tp> auto_ptr& std::auto_ptr< _Tp >::operator= (auto_ptr< _Tp > &__a) [inline] auto_ptr assignment operator. Parameters: __a Another auto_ptr of the same type. This object now owns the object previously owned by __a, which has given up ownership. The object that this one used to own and track has been deleted. Definition at line 136 of file auto_ptr.h. References std::auto_ptr< _Tp >::reset(). template<typename _Tp> template<typename _Tp1 > auto_ptr& std::auto_ptr< _Tp >::operator= (auto_ptr< _Tp1 > &__a) [inline] auto_ptr assignment operator. Parameters: __a Another auto_ptr of a different but related type. A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type. This object now owns the object previously owned by __a, which has given up ownership. The object that this one used to own and track has been deleted. Definition at line 154 of file auto_ptr.h. References std::auto_ptr< _Tp >::reset(). template<typename _Tp> element_type* std::auto_ptr< _Tp >::release () [inline] Bypassing the smart pointer. Returns: The raw pointer being managed. You can get a copy of the pointer that this object owns, for situations such as passing to a function which only accepts a raw pointer. Note: This auto_ptr no longer owns the memory. When this object goes out of scope, nothing will happen. Definition at line 225 of file auto_ptr.h. template<typename _Tp> void std::auto_ptr< _Tp >::reset (element_type *__p = 0) [inline] Forcibly deletes the managed object. Parameters: __p A pointer (defaults to NULL). This object now owns the object pointed to by __p. The previous object has been deleted. Definition at line 240 of file auto_ptr.h. Referenced by std::auto_ptr< _Tp >::operator=(). Author Generated automatically by Doxygen for libstdc++ from the source code. libstdc++ Tue Jun 10 2014 std::auto_ptr< _Tp >(3)
All times are GMT -4. The time now is 09:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy