Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Czy trzymać sf::RectangleShape w pamięci oraz inteligentne wskaźniki

Ostatnio zmodyfikowano dzisiaj: 9h » 24 min
Autor Wiadomość
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-28 16:41:56
Dynamiczny Wskaźnik. Tak jest dobrze? :-)

C/C++
class ColoredButtonWithText
    : public Button
{
public:
   
   
std::wstring _textStr;
   
std::unique_ptr < sf::Text > _text;
   
sf::Color _selectColor;
   
sf::Color _idleColor;
   
sf::Color _hoverColor;
   
sf::Color _pressColor;
   
   
ButtonState _state;
   
std::function < void() > _hover_func;
   
std::function < void() > _onclick_func;
   
sf::Time _clickTime;
   
   
   
ColoredButtonWithText( std::wstring text, sf::Vector2f size, sf::Vector2f position = sf::Vector2f( 0, 0 ) );
   
~ColoredButtonWithText();
};

C/C++
ColoredButtonWithText::ColoredButtonWithText( std::wstring text, sf::Vector2f size, sf::Vector2f position )
    :
Button()
{
   
_textStr = text;
   
   
_idleColor = dark_and_red_button_normal_color;
   
_hoverColor = dark_and_red_button_hover_color;
   
_pressColor = dark_and_red_button_press_color;
   
_selectColor = dark_and_red_button_select_color;
   
   
_rect = sf::IntRect( sf::Vector2i( 0, 0 ), sf::Vector2i( size ) );
   
   
// zbędne
    // _text = nullptr;
   
   
setPosition( position );
   
   
_state = ButtonState::Idle;
   
   
_hover_func = { };
   
_onclick_func = { };
   
_clickTime = currentTime;
   
}

ColoredButtonWithText::~ColoredButtonWithText() {
   
}
P-183314
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-28 16:52:18
I tworzenie _text

C/C++
if( !_text ) {
   
_text = std::make_unique < sf::Text >( basicFont, _textStr, 13 );
   
_text->setFillColor( dark_and_red_button_text_color );
}

Czy domyślną wartość dla inteligentnego wskaźnika jest nullptr? To znaczy gdy deklarowany jest taki wskaźnik to ma przypisaną wartość nullptr? Mi kompilator pokazuje, że tak..
P-183315
pekfos
» 2025-10-28 17:13:34
Tak, nie musisz go ręcznie inicjalizować na nullptr.
P-183316
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-28 17:14:18
No dobra. Dzięki za pomoc, teraz znowu mam co robić z kodem :D
P-183317
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-28 18:55:26
A w sumie mam jeszcze jedno pytanie. Skoro surowe wskaźniki istnieją to musi być jakiś powód. Tak więc kiedy stosować surowe wskaźniki?
P-183320
skovv
» 2025-10-28 19:13:32
Jak surowe wskaźniki? st::Text o;? To nie wskaźnik tylko obiekt/instancja. Różnica jest taka że sam się zwalnia
P-183321
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-28 20:00:50
Chodziło mi o
int * a
P-183322
skovv
» 2025-10-28 20:31:52
Nie rozumiem, daj przykład
P-183323
1 2 « 3 » 4 5
Poprzednia strona Strona 3 z 5 Następna strona