2010-06-10 12 views
5

Zostałem zadany to pytanie w wywiadzie.Problem z późnym wiązaniem!

późne wiązanie dynamicznie identyfikuje symbol w czasie wykonywania, o ile moja wiedza dotyczy. Proszę mnie poprawić, jeśli się mylę.

Zostałem zadany pytanie takie jak niektóre z problemów, które napotkamy, gdy używamy późnego wiązania w C++. w rzeczywistości nie miałem o tym pojęcia.

Czy mógłbyś podzielić się problemami, z którymi mógłbyś się zmierzyć w swoim życiu zawodowym?

dzięki.

Odpowiedz

1

Późne wiązanie wymaga, aby programista sam określał sygnatury funkcji, ponieważ kompilator nie może normalnie go zatwierdzić. Ponadto należy użyć poprawnych typów danych, aby zapobiec uszkodzeniu stosu.

2

Nawet jeśli masz wskaźniki funkcji, używane jest późniejsze wiązanie. Późne wiązanie to polimorfizm runtime. Zasadniczo oznacza problemy związane z funkcjami wirtualnymi.

http://www.learncpp.com/cpp-tutorial/124-early-binding-and-late-binding/ Link zapewnia wszystko, co musisz wiedzieć.

+0

Myślałem, że odpowiedź była trafna. Czy ktokolwiek może mi powiedzieć przyczynę upadku. – ckv

+0

+1: To jest poprawna odpowiedź; późne wiązanie nie ma nic wspólnego z dynamicznie ładowanymi modułami. –

+0

@ckv Tak, mam powód. W dołączonym linku podano, że wiązanie dynamiczne i późne wiązanie są takie same. Ale w moim kursie uniwersyteckim Powiedzieli, że te dwie różne rzeczy – shashwat

1

Zalety:

  • Zgodnie z Open-Closed Principle: kod może być rozszerzony o nowej instrukcji bez zmiany istniejącego kodu.

Wada:

  • więcej kodu napisać
  • Nie można inlined
0

1.You nie może utworzyć obiektu ogólnego, które mogą być związane z różnymi rodzajami obiektów. 2. Jest podatny na błędy i nie będziesz cieszyć się dużą intellisense podczas kodowania.

+0

Czy możesz podać przykłady uzasadniające swoje powody. To byłoby bardziej pomocne. – ckv

Powiązane problemy