wartosc domyslna konstruktora

Odpowiedz Nowy wątek
2014-12-29 23:37
0

Witam, mam pytanie jak wprowadzić wartość domyślną dla konstruktora gdy pierwszym jego argumentem jest tablica znaków.

np
Class (char *tab[],int i=4, char h='g')
{
}

Dla intów i charów jest to trywialne, ale jak wykonać taką samą operację dla tablicy?

char *tab[] to nie jest tablica znaków. - Endrju 2014-12-29 23:55

Pozostało 580 znaków

2014-12-29 23:41
1

W ten sposób

#include <iostream>
#include <array>
#include <vector>
using namespace std;
 
template<typename T, size_t N>
void Foo(const array<T, N> &tab = array<T, N>()){}
 
template<typename T>
void Bar(const vector<T> &tab = vector<T>()){}
 
template<typename T>
void FooBar(T *tab = NULL){}
 
void Fizz(const string &s = string()){}
 
template<template<typename> class Container, typename... Params>
void Buzz(const Container<Params...> &container = Container<Params...>()){}
 
int main() {
    // your code goes here
    return 0;
}
edytowany 5x, ostatnio: spartanPAGE, 2014-12-30 00:30
zapomniałeś o najpopularniejszej "tablicy znaków" - gośćabc 2014-12-30 00:12

Pozostało 580 znaków

2014-12-29 23:48
0

?

rzuć okiem do standardu. Tak elementarną rzecz jak vector powinien znać absolutnie każdy początkujący. - spartanPAGE 2014-12-29 23:56

Pozostało 580 znaków

2014-12-29 23:54
1

Prawie nigdy nie chcesz, żeby gdzieś alokowała się tablica automatycznie, ale jeśli już robisz to to zrób tak jak podał @spartanPAGE .
Można też tak, ale jest brzydko:
http://ideone.com/grLglx


░█░█░█░█░█░█░█░█░█░█░█░

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0