declare as function pointer and initialize in the same line The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What is a smart pointer and when should I use one?Returning unique_ptr from functionsWhy is reading lines from stdin much slower in C++ than Python?Image Processing: Algorithm Improvement for 'Coca-Cola Can' RecognitionWhy should I use a pointer rather than the object itself?Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviationsFunction pointer, which can point to every thing?Has a std::byte pointer the same aliasing implications as char*?declare and define function pointer variable in one line
What is the difference between "behavior" and "behaviour"?
Anatomically Correct Strange Women In Ponds Distributing Swords
Horror movie/show or scene where a horse creature opens its mouth really wide and devours a man in a stables
Is a stroke of luck acceptable after a series of unfavorable events?
What is the point of a new vote on May's deal when the indicative votes suggest she will not win?
Why use "finir par" instead of "finir de" before an infinitive?
Should I tutor a student who I know has cheated on their homework?
How to Reset Passwords on Multiple Websites Easily?
Can a caster that cast Polymorph on themselves stop concentrating at any point even if their Int is low?
Opposite of a diet
MAZDA 3 2006 (UK) - poor acceleration then takes off at 3250 revs
How can I open an app using Terminal?
ls Ordering[Ordering[list]] optimal?
How do scammers retract money, while you can’t?
What's the point of interval inversion?
Why didn't Khan get resurrected in the Genesis Explosion?
How do I go from 300 unfinished/half written blog posts, to published posts?
Under what conditions does the function C = f(A,B) satisfy H(C|A) = H(B)?
Fastest way to shutdown Ubuntu Mate 18.10
In place solution to remove duplicates from a sorted list
Describing a person. What needs to be mentioned?
'Given that' in a matrix
Can the Reverse Gravity spell affect the Meteor Swarm spell?
% symbol leads to superlong (forever?) compilations
declare as function pointer and initialize in the same line
The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What is a smart pointer and when should I use one?Returning unique_ptr from functionsWhy is reading lines from stdin much slower in C++ than Python?Image Processing: Algorithm Improvement for 'Coca-Cola Can' RecognitionWhy should I use a pointer rather than the object itself?Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviationsFunction pointer, which can point to every thing?Has a std::byte pointer the same aliasing implications as char*?declare and define function pointer variable in one line
In C++ how do we do the following
// fundamental language construct
type name = value;
// for example
int x = y;
with function pointers?
typedef (char)(*FP)(unsigned);
// AFAIK not possible in C++
FP x = y ;
I can use lambdas
FP x = []( unsigned k) -> char return char(k);
But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:
void whatever ()
typedef void (*FP) (void);
FP x = whatever ;
The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.
c++
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
In C++ how do we do the following
// fundamental language construct
type name = value;
// for example
int x = y;
with function pointers?
typedef (char)(*FP)(unsigned);
// AFAIK not possible in C++
FP x = y ;
I can use lambdas
FP x = []( unsigned k) -> char return char(k);
But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:
void whatever ()
typedef void (*FP) (void);
FP x = whatever ;
The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.
c++
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
3
You could always stick withauto x = &the_function;'.
– François Andrieux
4 hours ago
The name of a function pointer variable appears between the return type and the arguments It won't look liketype name = value;.
– François Andrieux
4 hours ago
You're missing the&beforewhatever.FP x = &whatever ;
– dave
4 hours ago
@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the(char), which should becharin yourtypedef)
– andreee
4 hours ago
add a comment |
In C++ how do we do the following
// fundamental language construct
type name = value;
// for example
int x = y;
with function pointers?
typedef (char)(*FP)(unsigned);
// AFAIK not possible in C++
FP x = y ;
I can use lambdas
FP x = []( unsigned k) -> char return char(k);
But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:
void whatever ()
typedef void (*FP) (void);
FP x = whatever ;
The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.
c++
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
In C++ how do we do the following
// fundamental language construct
type name = value;
// for example
int x = y;
with function pointers?
typedef (char)(*FP)(unsigned);
// AFAIK not possible in C++
FP x = y ;
I can use lambdas
FP x = []( unsigned k) -> char return char(k);
But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:
void whatever ()
typedef void (*FP) (void);
FP x = whatever ;
The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.
c++
c++
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 2 hours ago
Guillaume Racicot
15.8k53568
15.8k53568
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 4 hours ago
emma brainemma brain
863
863
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
3
You could always stick withauto x = &the_function;'.
– François Andrieux
4 hours ago
The name of a function pointer variable appears between the return type and the arguments It won't look liketype name = value;.
– François Andrieux
4 hours ago
You're missing the&beforewhatever.FP x = &whatever ;
– dave
4 hours ago
@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the(char), which should becharin yourtypedef)
– andreee
4 hours ago
add a comment |
3
You could always stick withauto x = &the_function;'.
– François Andrieux
4 hours ago
The name of a function pointer variable appears between the return type and the arguments It won't look liketype name = value;.
– François Andrieux
4 hours ago
You're missing the&beforewhatever.FP x = &whatever ;
– dave
4 hours ago
@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the(char), which should becharin yourtypedef)
– andreee
4 hours ago
3
3
You could always stick with
auto x = &the_function;'.– François Andrieux
4 hours ago
You could always stick with
auto x = &the_function;'.– François Andrieux
4 hours ago
The name of a function pointer variable appears between the return type and the arguments It won't look like
type name = value;.– François Andrieux
4 hours ago
The name of a function pointer variable appears between the return type and the arguments It won't look like
type name = value;.– François Andrieux
4 hours ago
You're missing the
& before whatever. FP x = &whatever ;– dave
4 hours ago
You're missing the
& before whatever. FP x = &whatever ;– dave
4 hours ago
@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the
(char), which should be char in your typedef)– andreee
4 hours ago
@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the
(char), which should be char in your typedef)– andreee
4 hours ago
add a comment |
2 Answers
2
active
oldest
votes
Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.
Example:
// typedef
typedef char(*FP)(unsigned);
FP x = y ;
// no typedef
char(*x)(unsigned) = y;
Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.
add a comment |
You can use auto:
auto fptr = &f;
It skips the need of a typedef and conserve a nice syntax.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
emma brain is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55400483%2fdeclare-as-function-pointer-and-initialize-in-the-same-line%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.
Example:
// typedef
typedef char(*FP)(unsigned);
FP x = y ;
// no typedef
char(*x)(unsigned) = y;
Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.
add a comment |
Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.
Example:
// typedef
typedef char(*FP)(unsigned);
FP x = y ;
// no typedef
char(*x)(unsigned) = y;
Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.
add a comment |
Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.
Example:
// typedef
typedef char(*FP)(unsigned);
FP x = y ;
// no typedef
char(*x)(unsigned) = y;
Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.
Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.
Example:
// typedef
typedef char(*FP)(unsigned);
FP x = y ;
// no typedef
char(*x)(unsigned) = y;
Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.
answered 4 hours ago
n.m.n.m.
73.7k884171
73.7k884171
add a comment |
add a comment |
You can use auto:
auto fptr = &f;
It skips the need of a typedef and conserve a nice syntax.
add a comment |
You can use auto:
auto fptr = &f;
It skips the need of a typedef and conserve a nice syntax.
add a comment |
You can use auto:
auto fptr = &f;
It skips the need of a typedef and conserve a nice syntax.
You can use auto:
auto fptr = &f;
It skips the need of a typedef and conserve a nice syntax.
answered 4 hours ago
Guillaume RacicotGuillaume Racicot
15.8k53568
15.8k53568
add a comment |
add a comment |
emma brain is a new contributor. Be nice, and check out our Code of Conduct.
emma brain is a new contributor. Be nice, and check out our Code of Conduct.
emma brain is a new contributor. Be nice, and check out our Code of Conduct.
emma brain is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55400483%2fdeclare-as-function-pointer-and-initialize-in-the-same-line%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
3
You could always stick with
auto x = &the_function;'.– François Andrieux
4 hours ago
The name of a function pointer variable appears between the return type and the arguments It won't look like
type name = value;.– François Andrieux
4 hours ago
You're missing the
&beforewhatever.FP x = &whatever ;– dave
4 hours ago
@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the
(char), which should becharin yourtypedef)– andreee
4 hours ago