Question: In `C` I have

```
unsigned long arr[256]={0x00000000L,0x01020304L,0x21223212L,...}

```

in C++ in `.h`-file i have

```
private:
    unsigned long arr[256];

```

how-to populate it (fastest way) in `.cpp` file with 256 constant values?

```
arr[256]={...}
// and
arr={...}

```

not work :-\

Answer: 
Use initializer list in constructor:

```
// .h
class C
{
public:
    C();
private:
    unsigned long arr[256];
};

// .cpp
C::C() : arr{0x00000000L, 0x01020304L, 0x21223212L, ...} {}

```

Note that `std::array` may be an alternative which has more intuitive syntax and is assignable.
Why do you want to have an array of constants as a member variable?

If values are supposed to be changed, then you will need C++11, and you should be able to use it in a same way as in C - in-class initialization of non-static non-const member variables is now allowed (you may want to take a look at: [C++11 allows in-class initialization of non-static and non-const members. What changed?](https://stackoverflow.com/questions/13662441/c11-allows-in-class-initialization-of-non-static-and-non-const-members-what-c) ).

If you want to have an array of constants, you can still use C style (and array that is either global or local to a file), if you wish to.
I'm not saying it's good style, but compilers accept it.