C++ :: Function Pointers Versus Subclasses

Feb 25, 2013

I am in a position to choose between function pointers and subclassed objects. To make it clear, say I have to notify some object of some action (a timer for example); refer to the following two choices (a very basic code for demo purposes):

Version 1

typedef void TimerCallback(void *args);
class Timer{
public:
Timer();

[Code] .....

Version 2:

class TimerTask{
public:
TimerTask();
virtual ~TimerTask();
void timedout()=0;

[Code] .....

which one is the standard C++ way and which one is efficient?

View 6 Replies


ADVERTISEMENT

C++ :: Dot Operator Versus Arrow

Jun 26, 2014

I understand that the dot operator is:

Code: a.b "a"

is the actual object (not a memory location) and "b" is the member. I also understand the arrow to mean:

Code: a->b "a"

is a pointer to a struct and "b" is it's member so "a" is dereferenced then "b" is given.

Here is where I get a little confused. I have a class:

exampleclass.h
Code:
#ifndef EXAMPLECLASS_H_INCLUDED
#define EXAMPLECLASS_H_INCLUDED
class exampleclass{

[Code].....

Also if ec1 had a public variable and I wanted to access it would it be referenced the same way as the method I call in ec1?

View 4 Replies View Related

C++ :: Merge Sort - Top Down Versus Bottom Up

Apr 28, 2014

I tried to keep the coding style as similar as possible. I tested these with 4 million (4x1024x1024) 64 bit unsigned integers, Visual Studio 2005, 64 bit mode, Win XP X64, Intel 2600K 3.4ghz cpu. The average time for top down = 3.7 seconds, bottom up = 3.5 seconds.

Code: // tsorttd.h - top down merge sort
template <class T>
T * TopDownMergeSort(T a[], T b[], size_t n) {
TopDownMergeSortAtoA(a, b, 0, n);

[Code]....

View 13 Replies View Related

C++ :: Static Versus Dynamic Array

Feb 27, 2013

there is a performance difference (e.g access time, speed, ...) between allocating static memory vs dynamic memory?

For example, if am reading data from a file, and storing them inside a huge buffer, what would be the differences between storing these data inside a static buffer vs a dynamic one?

View 3 Replies View Related

C++ :: Runtime Speed Integer Versus Double

May 27, 2013

Using integers faster than using floating points? Or more precise: what do you estimate as the chance that writing a custom floating point class is worth the effort?

I need to examine some C++ code for an ARM7 or ARM9 processor. Instead of using floating points, the coder had chosen to use integers only. To be able to fake floating points, a custom class was written. The coder states that he avoids using floating points as these are much how much slower. "Have you measured this?", I asked. "No, but it is known to be so", he replied.

Google taught me that most people state integers are faster than using doubles, because their operations (addition, multiplication) take less assembler instructions. But if you need those floating points, what do you estimate as the chance that writing a custom floating point class is worth the effort?

View 2 Replies View Related

C++ :: Array Versus Linked List Implementation For Stack

Nov 27, 2014

Basically what are the advantages and disadvantages of having an array implementation vs linked list implementation for a stack?

View 1 Replies View Related

C/C++ :: Doubly Linked List Versus Double Ended Queue

Jun 27, 2014

A while ago i was asked to write a program for a class that used a "Double ended queue with a current-position marker."

An example of some of the functions that i created are:

boolean atFirst() // Returns true if first element is current. Pre: !isEmpty().
boolean atLast() // Returns true if last element is current. Pre: !isEmpty().
void makeEmpty() // Sets this List to the empty state. Post: isEmpty().
void moveFirst() // Sets current marker to first element.
void movePrev() // Moves current marker one step toward first element.
void moveNext() // Moves current marker one step toward last element.
void insertBeforeFirst(int data) // Inserts new element before first element.

My question is whether a double ended queue with pointer is the same thing as a "doubly linked list" in this case. The terminology is throwing me of a little. If the two concepts are different, how is a doubly linked list different?

View 2 Replies View Related

C++ :: Calculate Percentage Of Times Coin Flipped Either Heads Versus Tails

Feb 10, 2015

I'm having trouble getting the program to calculate the percentage of times it flipped either heads versus tails. I realize what I currently have doesn't work because above I initialized heads and tails by giving them values of 0, but I'm unsure of how to fix it.

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main () {
srand(time(0));

[Code] .....

View 2 Replies View Related

C++ :: What Are Function Pointers

May 21, 2012

What are Function pointers , what are the benefits of using it?

View 4 Replies View Related

C :: Passing Pointers Into Function?

Dec 3, 2013

I want to scan numbers in from within a function, but have access to them in main, so I tried using pointers to do so:

Code:
// Path Of Exile socket colours simulation
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

[Code].....

View 9 Replies View Related

C :: Size Of Function And Pointers

Apr 6, 2014

I have this simple program:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static unsigned char cmd[]={
0x01,0x80,0x00,0x00,0x00

[Code] .....

All is right except the size. Why does it give 80x1 as size instead of the digit 5?

View 2 Replies View Related

C :: Pointers For A Prime Function?

Oct 15, 2013

i'm trying to determine if a number from a file is a prime number using pointers first I wrote a function that determines if the number is a multiple of 7, 11, or 13. Then i wrote a function to see if the number is odd or even. Are they correct? Later i will print the results on screen but i'm extremely confused with pointers and i'm not sure how to write this prime function...

Code:

void divisible(int *n, int *result) {
if (*n % 7 == 0 || n % 13 == 0 || n % 13 == 0) {
*result = 1;

[Code] .....

View 2 Replies View Related

C :: Point Of Function Pointers

Sep 27, 2014

I'm wondering about the point of pointers to functions. When is it used?I saw the below example. It doesn't make sense to me. I mean we can easily write code that does the same without having to use pointers.

Code:

#include <stdio.h>
int addInt(int a, int b); // Adds 2 integers
int add5to4(int (*function_pointer)(int, int));
int main(void)
{
int sum;
int (*function_pointer)(int, int);
}

[code]....

View 2 Replies View Related

C/C++ :: How To Use Pointers To Arrays In Function

Feb 25, 2015

I am trying to use pointers to arrays in my function.

I can get the pointers to work outside of a function but I just can't figure out how to make them work in my function.jwhittle58, on 25 February 2015 - 06:06 PM, said:

I am trying to use pointers to arrays in my function. I can get the pointers to work outside of a function but I just can't figure out how to make them work in my function.

View 8 Replies View Related

C/C++ :: Typedef Function Pointers

Apr 21, 2014

I'm given a mathematical function F(x) = etc..., the user inputs an initial x point and a final x point. The program finds the integration.

Below is a snippet of code.

/*Typedefs as given by prof*/
typedef double (*mainFunction) (double);
typedef double (*calcArea) (mainFunction, double, double);
int main () {
answer = calcIntegral(mainFunction *curve1, calcArea *calcAreaRect, a, B)/>; /*it doesn't like this line*/
printf("The integral from %lf to %lf is: %.4lf", &a,&b,&answer);
return 0;
}

curve1 is a function that accepts a double and returns a double, calcAreaRect takes mainFunction main(which is F(x) so i stored the fn in curve1), double and double.

View 2 Replies View Related

C :: Static Array Of Function Pointers

Jan 29, 2015

I basically have some code that lets users register callbacks into a callback table at a specified index. There is one element in this table for each event that can trigger a callback. I basically do something like this:

In a header file

Code:
typedef struct _GMclient
{
GMcommunicator gcomm;
GMclient_callback callback_table[(int)MAX_CALLBACKS];
}GMclient;

typedef int (*GMclient_callback)(GMclient*, void*, void*);

Then I allow them to set the callback with a function that basically ends up doing this (in a .c file that includes the previous mentioned .h file):

Code:
void
GMclient_register_callback(GMclient *client,
GMclient_callback fxn,
int index)

[Code] ....

Then later when I need to invoke that callback, I pull it out of the table

Code: GMclient_callback *fxn = client->callback_table[CMD_INDEX];

However, I get compilation errors:

Code: src/gmanager_client.c:43:6:

error: a label can only be part of a statement and a declaration is not a statement...

View 4 Replies View Related

C :: Program To Use Void Pointers In A Function

May 14, 2014

As part of my ongoing c programming education, I have written a program to use void pointers in a function,

Code:

#include <stdio.h>
#define MAX_NUMBERS 10
size_t size(void *object);
int main(void) {
}

[code]....

Now I think that the result 4 is the size of the pointer, so I'm confussed as why it doesn't give me the same result as 40.

View 2 Replies View Related

C :: How To Pass 2 Array Pointers To A Function

Aug 4, 2013

How would I pass let say 2 array pointers to a function X , allocate memory for them in X , fill them with values and get them back in my main function without creating a structure.

example:

Code:

void X(int *a, int*b){
a= malloc ...
b = malloc ...
// fill a and b
return them back to the main function
}
void main(){

[Code]...

View 3 Replies View Related

C++ :: Using Pointers Instead Of Reference Variables In Function

Mar 26, 2013

The following function uses reference variables as parameters. Rewrite the function so it uses pointers instead of reference variables, and then demonstrate the function in a complete program.

int doSomething(int &x, int &y)
{
int temp =x;
x = y * 10;
y = temp * 10;
return x + y;
}

I understand how to covert the reference variables to pointers, however I am stuck on this error. Either I get the error listed in the title or (with a few changes) the error "invalid conversion from 'int' to 'int*'"

What am I doing incorrectly?

#include <iostream>
using namespace std;

int doSomething(int*, int*);

int main(){
int X, Y, result;

[Code] ....

I have multiplied both x and y by 10 and then added them together!

Here is the result " //I really didn't know how else to use the "doSomething" function in a meaningful way. So... I just stated what the function does.

<< result << ".
";
system("PAUSE");
return 0;
}
int doSomthing(int *x, int *y)

[Code] .....

View 1 Replies View Related

C++ :: Function Pointers Inside Array

Apr 6, 2014

Ive recently got into function pointers, i find that they can be quite handy for making your program very 'dynamic'.

However, the syntax is very confusing for what i want to do
This is what i want to do

I want to hold function pointers inside an array, but this array is dynamically allocated ( malloc, realloc, etc )

This is the current syntax ive come up with, but i dont think it is correct

void ( **drawFunc ) ( void*, SDL_Surface* );

View 2 Replies View Related

C++ :: Hash Table Of Function Pointers?

Dec 15, 2014

Is it possible to create a hash table of function pointers so that functions can be referenced by their name (using a string?)

View 2 Replies View Related

C++ :: Function Passed By Pointers Or Reference?

Sep 28, 2014

I am going to read some codes about image processing and I need to understand functions like this one below?

BOOL Trans_Geo_Affine(CImage *pImgSrc, CImage *pImgDst, BOOL bMatrix,
BOOL bHvInversed, double fScale_xx, double fFlex_xy, double fSkew_yx,
double fRotate_yy, double fTx, double fTy, int nInterpolation, BOOL bResize, BYTE cFill)

[URL]

two parameters, CImage *pImgSrc and CImage *pImgDst. I think they are class pointers and the function is passed by reference. What should I learn to understand this function and its parameters? How should I use this function? how to use the function with two parameters CImage *pImgSrc and CImage *pImgDst.

View 11 Replies View Related

C++ :: Passing Pointers By Reference To Function?

Mar 4, 2013

If f1 and f2 are two user defined functions.

main(){
int *p;
f1(&p)
}
f1(**p){
f2(&p);//

If I've to pass the pointer by reference again in another function, will I've to do something like this?

}
f2(***p){
**p = NULL;
}

View 3 Replies View Related

C/C++ :: Function Pointers From External Class?

Jun 8, 2014

How can i use a function pointer from external class? Say we have a class tuna

Tuna:

int foo(){
return 45;
}
int (*foobar)();

[Code].....

View 9 Replies View Related

C/C++ :: Find Max And Min Value In Void Function Using Pointers

Aug 31, 2014

I'm having issues with pointers and relationship operators in C.

I need to find a max and min value in a void function using pointers. max and min would work if they had values. mul works, because you can just do math operations with pointers.

There are 0 errors and warnings; but max and min are never going to work as is.

Clearly I'm missing something.

#include <stdio.h>
#include <stdlib.h>
void max(int *a, int *b, int *c, int *d, int *result);
void min(int *a, int *b, int *c, int *d, int *result);
void mul(int *a, int *b, int *c, int *d, int *result);
int main()

[Code]...

Your job will be to create a program that uses pointers. Your output must be done in the main function and the calculations MUST be done in the three functions. Therefore you MUST use pointers correctly.

You must declare and implement the following 3 functions. Below are the three prototypes that you must use in this program.

void max(int *a, int *b, int *c, int *d, int *result);
void min(int *a, int *b, int *c, int *d, int *result);
void mul(int *a, int *b, int *c, int *d, int *result);

The functions have the following meaning:

max
finds the max value of a,b,c,d and stores the largest value in result.
min
finds the min value of a,b,c,d and stores the largest value in result.
mul
multiplies a * b * c and divides by d. Stores that value in result.

Below is an example input/output. This input will be read in via the keyboard (use scanf).

input
output (note that user input is shown in bold)
1 2 3 4
Enter the 4 numbers: 1 2 3 4
The max is 4. The min is 1. (a * b * c) / d = 1
100 3 201 103
Enter the 4 numbers: 100 3 201 103
The max is 201. The min is 3. (a * b * c) / d = 585

Your output MUST match exactly the output below for the input from above. Your program must compile, failure to do so will result in 0 points. */

View 9 Replies View Related

C/C++ :: How To Implement Pointers To Call The Function

Mar 11, 2014

write a program which contains two global variables:

1.Account number (integer)
2.Account Balance (float)

and three functions :

A function called set values which sets initial values for account number and account balance,

A function called set values which prompt user to enter the values of the above variables,

A function called input transaction which reads a character value for transaction type that is D (for deposit) and W (for withdrawal ) and a floating point value for transaction amount which updates the account balance .

Implement a pointer to call each of the functions using C++.

View 1 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved