C++ :: Static Vs Ordinary Variables?

Jul 26, 2014

Is it more expensive to use too many static variables instead of ordinary variables? If yes, then how?------------This is a topic given to me to find out about and I don't even know what are static variable except that they live throughout the life of program

and only disadvantage of using static variable instead ordinary variables in my mind is just they will use memory even when we don't need them

View 7 Replies


ADVERTISEMENT

C++ :: Static Variables In Classes

Mar 1, 2013

If I have a static variable in a class e.g. a pointer to another class like this: (B is another class)

class A {
public:
static B* cB;
};

Then I set that variable and create multiple instances of class A like this:

A::cB = new B;
As = new A[Number];

Then will the value of cB be the same across all instances?

I cannot pass the class pointer in the constructor as I need to create an array of instances. I tried this method but I get linker error.... unresolved external.

View 12 Replies View Related

C :: For Static Variables When Memory Will Be Allocated?

May 21, 2013

For static variables when the memory will be allocated? During compilation or linking or loading time? In below program i am getting error :

(Error C2099: initializer is not a constant in microsoft visual studio) .

If i initialize x = 10 or any constant it works , why?

Code:
main() {
int i=10;
static int x = i;//error ?
if(x==i)
printf("Equal");

[Code] .....

View 8 Replies View Related

C++ :: Using Global Variables In Static Library

Jul 22, 2014

Is it possible to use & change global variables in a Static Library? For example:

I declare a
bool test = true;
globally.

Then later in an exported function If the user wants, he can set that test to false. So the program later when checks test if it's true, will notice that it's not true, since one of my function changed it.

Is it right?

View 3 Replies View Related

C++ :: Declare Static Variables In Header File

Oct 15, 2013

I read in another forum that it is bad practice to declare static variables in a header file? Is that true and if so why.

View 1 Replies View Related

Visual C++ :: Static Variables Local Or Global?

Mar 10, 2014

I came across the following code today and I was a bit surprised that it worked:-

Code:
std::string func_A () {
static std::string x;
if (!x.empty())
return x;

[Code] ....

I've simplified things slightly - but the basic point is that both functions are in the same source file and they both have a static std::string called 'x'. Being static, I guess they aren't (strictly) local variables. So how does the compiler know that they're different entities? Does it encode their signatures using the function name or something like that? If I call each function separately I do seem to get the correct string...

View 5 Replies View Related

C++ :: How To Change Ordinary Picture With Only Red Channel

Aug 29, 2013

With using SDL_Maprgb and SDL_GetRgb. I am new to programming.

void put_pixel32 (SDL_Surface *surf, int x, int y, Uint32 pixel){
Uint32 *pixels = (Uint32 *)surf->pixels;
pixels[(y * surf->w ) + x] = pixel;
}

how do i get use of this code?

Uint32 SDL_MapRGB(SDL_PixelFormat* format, Uint8 r, Uint8 g,Uint8 b);
void SDL_GetRGB(Uint32 pixel, const SDL_PixelFormat* format, Uint8*r, Uint8 *g,Uint8 *b)

I am using the existing picture. The function is just like Photoshop, can change the color only in red channel.

View 8 Replies View Related

C++ :: How To Convert Ordinary Text File Into Binary And Vice Versa

Dec 23, 2013

How to convert an ordinary text file into binary and how to convert that binary file back to a text file so that the first text file equals with the last text file?

View 8 Replies View Related

C++ :: Do Static Functions Have Access To Non Static Data Members Of A Class

Apr 17, 2013

From my book:

"A static function might have this prototype:

static void Afunction(int n);

A static function can be called in relation to a particular object by a statement such as the following:

aBox.Afunction(10);

The function has no access to the non-static members of aBox. The same function could also be called without reference to an object. In this case, the statement would be:

CBox::Afunction(10);

where CBox is the class name. Using the class name and the scope resolution operator tells the compiler to which class Afunction() belongs."

Why exactly cant Afunction access non-static members?

View 7 Replies View Related

C++ :: Accessing Non-static Members Inside Static Member Functions

Sep 11, 2013

What are the workarounds for accessing the non-static member variables of some class(Say A) inside static member functions of another class(Say B)? I am coding in c++. Class A is derived with public properties of class B. Any pointers?

View 7 Replies View Related

C# :: Static Method Inside Non-static Class

Aug 22, 2014

Have following code:

class Program
{
static void Main(string[] args)
{

[Code]....

My question according to what i just wrote:

1. Is that mean that Do() is only available for use by Dog itself because Dog is 'oryginal' Dog, and if i create new dogs - instances of oryginal Dog (dog1, dog2 ...) they cant access because Do is only available fo 'oryginal' one? Is that correct thinking?

2. If i would want to have something common (e.g value) for all dogs is that good way to create static field/method for Dog instead of non-static once then all instances of Dog would access Dog static member to get/change it? Just stupid example: static method GetAmountOfLegs() which return 4 Then all instances can take/call that value from Dog. Is that correct thinking?

View 2 Replies View Related

C++ :: Difference Between Static Local Variable And Static Global Variable?

Aug 5, 2013

Here is the code,

Code:
class A {
};
A& CreateObject() {
static A a;
return a;
} static A aa;
int main() {
return 0;
}

So is there any difference between a defined in CreateObject and aa?

View 6 Replies View Related

C++ :: Why Vptr Is Not Static

Oct 14, 2013

So, even though the virtual pointer is constant across objects of class why cant it be made as static. Why each derived instance is having the pointer to vtable.

View 4 Replies View Related

C/C++ :: Creating A Static Map

Jun 19, 2014

I have a class where I'm trying to create two static maps. I know I haven't separated the implementation from the declaration. This is how I'm required to program at the moment.

My example class that I'm trying to compile looks like this:

#include <map>
#include <string>
class Foo {

[Code]....

I keep getting compiler errors, though, saying:

invalid use of qualified-name Foo::map1
and
invalid use of qualified-name Foo::map2

I can't initialize these maps explicitly; in my real program they're created by reading in a few different files' data on startup. I need to be able to access the maps throughout my entire application, and I don't want to be required to read in the same data file over and over again.

how static maps can be created properly, or failing that explain another methodology I could use to make them available to my entire application?

View 3 Replies View Related

C# :: Static In Interface

Jul 1, 2014

I have the following scenario: I plan to have an xml configuration file.I have a trader that lunch few strategies, each have different configurations. I plan to have all configuration reside in the same file as different nodes.

Now I want that each strategy will hard code the name of node it will loop up for its parameters. Since those paramters are requered for the init and I use DI (configuration are passed in the constructor) I want to make it static.

So this would be something like.

public class Strategy: Base_strategy{
public const string _conf_name = "XXX";
public static string get_conf_name(){

[Code]....

Since other people will code strategies, I want each strategy to implement this static function. I wanted to do this in an interface so that anyone coding new strategy,implementing the base strategy will have to code this static function as part of the contract.

View 5 Replies View Related

C++ :: When To Use Static Classes

May 2, 2013

I am just wondering what the best practice is for when to use static classes (by static class, I mean a class which has only static attributes and functions).

If you are creating more than one independent object of a particular class, then obviously this should not be static because each object will be the same. But what about the case when you know that you will only ever need one instance of a class? On its own, does this mean that you should create it as a static class?

Personally, I use static class when I want its member attributes and functions to be available globally, which I think is fine. However, I am not sure about the case when I know that only one object will be created - should this be a static class or not?

View 1 Replies View Related

C :: Static Linked List

Jan 6, 2014

I have the codes for the functions: "Given the functions that we have discussed and defined in the class and the code that we have created, create the code for the Delete Node function and the Search function. Create an application that will incorporate all the functions that we have discussed and the new ones that you need to create. The application should allow the linked list to be built initially from a text file. The application should then allow for the user select an operation to perform. The acceptable operations are

- to search for an item
- to delete an item
- to enter a new item
- to exit the application

After the initial build and loading of data from the textfile, the application should print a listing of each item in the list and the node that it is located in. after a delete or insert, the application should display an output of the list again showing each item in the list and the node that it resides in.

The data item for this problem will be the inventory structure that we created in class and the data is in the inventory file that you already have downloaded."

View 4 Replies View Related

C :: Static Variable Usage

Dec 27, 2013

I was exploring static variable by writing code snippets. I tried below code and it ended up throwing error saying "error: storage class specified for parameter 'b'"

Why static cannot be used in func() ?

Code:
int main() {
int a;
a=5;
func(a);
printf("%d",a);
return 0; }

void func(static int b)
{b=6;
printf("%d",b); }

View 7 Replies View Related

C :: Static Library Linking

Oct 7, 2014

I am trying to refresh my memory here as I did some studies many years ago but the results elude me.Also todays c/c++ compilers may have better optimizations.Say I have a static library that includes three obj modules.Each of these object modules has a number of functions. These functions do not reference any other functions within the obj module.My main app links this library but only references one function from each of the object modules.

Question: Are the complete contents of each module linked into my main app or are todays linkers smart enough to just link the functions used?

View 4 Replies View Related

C++ :: Initializing Static Member Just Once Throughout

Jul 24, 2014

Here I'm trying to initialize PersonFactory::ethnicSurnames just once for the entire run of the program:

#include <iostream>
#include <string>
#include <vector>
#include <array>

enum Country {India, China, France, NumCountries}; // plus many other countries
struct School {}; struct Mall {}; struct HockeyArena {};

[Code] ....

Output:

PersonFactory::initializeEthnicNames() called
Carrying out the initialization...
PersonFactory::initializeEthnicNames() called
PersonFactory::initializeEthnicNames() called
PersonFactory::initializeEthnicNames() called
PersonFactory::initializeEthnicNames() called
numberOfTimesInitialized = 1

As you can see, even though five PersonFactory objects were constructed, the ethnicNames initialization only occurred once, as desired. However, there are some issues with my method. First of all, the use of the comma operator is ugly in my opinion. But fashion statements aside, PersonFactory::initializeEthnicNames() is still called multiple times, which is not good, even though it correctly avoids reinitializing ethnicNames after the first call. Also, I now forever get the annoying compiler warnings that the bool namesInitialized is never used, which is true, thus wasting a small bit of memory. And finally, I cannot declare ethnicNames const now, and it is supposed to be const. Any better way to accomplish what I'm trying to do?

By the way, the reason why I don't initialize ethnic names outside the class as is normally done for static data members (and that would indeed allow me to declare it const) is because it would get messed up if I later change the order of the elements in enum Country. Hence actual lines of initializations I think are needed. And I do want ethnicSurnames inside PersonFactory, because I feel it really does belong there. Also, PersonFactory is not to be Singleton, because it has data members that depend on some parameters in its constructor (e.g. geographic location).

View 5 Replies View Related

C++ :: Have 1 Static Variable With Instance Different Value

Sep 11, 2014

can i have 1 static variable with instance different value?

View 3 Replies View Related

C++ :: Static Variable Declaration

Oct 4, 2014

If i declare 2 variables like this static int first, second; will both of them be declared static or will only first be declared static and second a regular variable?

View 5 Replies View Related

C++ :: Static Classes Vs Namespaces?

Jan 9, 2014

so i was trying to find out how to do unbuffered input in linux and came across this class: [URL] . i didnt like how i had to create a new instance of it each time i wanted to use it, so i made the functions static and renamed the class to Buffer. i could then call it like this: Buffer::On(); Buffer::Off();. My question is, when doing something like that where the class consists of two functions that can exist indepently of another, which is better: a class like what i did or wrapping it in a namespace?

View 3 Replies View Related

C++ :: In Class Static Map Initialization

Nov 17, 2014

I have a class containing a map member that I want to initialize at declaration time. I know I can do it in the cpp file but I'm having a problem with the order of initialization (static initialization order fiasco).

My questions are:

Is it possible that the scenario in which, the Test's constructor's implementation and the map initialization instruction are in the same cpp file and constructor is called when the map is not initialized yet, could happen?

Is it possible to initialize the map in class like I did? I get these errors:

in-class initialization of static data member 'std::map<std::basic_string<char>, Test*> Test::a' of incomplete type
temporary of non-literal type 'std::map<std::basic_string<char>, Test*>' in a constant expression

If yes, does this initialization resolve the static initialization order fiasco?

class Test {
public:
static std::map<std::string, Test*> a = {};//this is an error
Test(std::string ID) {

[Code] ....

View 4 Replies View Related

C++ :: Build Own Library (static)

Sep 11, 2014

How to build the static library on my own using visual C++ 2008.

I used the following code to create the header file and cpp of the library.but I am unable to compile due to the following error.

// MathFuncsLib.h
namespace MathFuncs {
class MyMathFuncs {
public:
// Returns a + b
static double Add(double a, double b);

[Code] .....

Error I get while it is compiled :
Error3error C2653: 'MyMathFuncs' : is not a class or namespace name

View 4 Replies View Related

C++ :: How To Link Static Library

Mar 31, 2013

How to create standalone program. For now I have simple program connecting to MySql Database and when i run it, shows me error, libmysql.dll is missing... When i put libmysql.dll in same folder works. Now my question is, how in code blocks can i compile so i won't require libmysql.dll anymore and be able to use it on any machine.

View 1 Replies View Related







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