คำถามติดแท็ก boost

Boost เป็นชุดไลบรารีคุณภาพสูงจำนวนมากที่มีไว้สำหรับใช้ใน C ++ Boost เป็นบริการฟรีและมักถือเป็น "ไลบรารีมาตรฐานที่สอง"

6
วิธีติดตั้ง Boost บน Ubuntu
ฉันอยู่บน Ubuntu และฉันต้องการติดตั้ง Boost ฉันลองด้วย sudo apt-get install boost แต่ไม่มีแพ็คเกจดังกล่าว วิธีที่ดีที่สุดในการติดตั้ง Boost บน Ubuntu คืออะไร
489 ubuntu  boost 


6
"enable_shared_from_this" นี้มีประโยชน์อย่างไร
ฉันวิ่งข้ามenable_shared_from_thisในขณะที่อ่านตัวอย่าง Boost.Asio และหลังจากอ่านเอกสารฉันยังคงหลงทางว่าควรใช้สิ่งนี้อย่างถูกต้องอย่างไร ใครช่วยได้โปรดยกตัวอย่างและคำอธิบายว่าเมื่อใดที่ใช้คลาสนี้
349 c++  boost  boost-asio  tr1 

10
เราควรส่ง shared_ptr โดยอ้างอิงหรือตามค่าหรือไม่
เมื่อฟังก์ชั่นใช้shared_ptr(จากบูสต์หรือ C ++ 11 STL) คุณจะผ่านมัน: โดยอ้างอิง const: void foo(const shared_ptr<T>& p) หรือโดยค่า: void foo(shared_ptr<T> p)? ฉันชอบวิธีแรกเพราะฉันสงสัยว่ามันจะเร็วกว่า แต่สิ่งนี้คุ้มหรือไม่ คุณกรุณาให้เหตุผลในการเลือกของคุณหรือถ้าเป็นเช่นนั้นทำไมคุณคิดว่ามันไม่สำคัญ
270 c++  c++11  boost  shared-ptr 


4
ตัวชี้สมาร์ท (เพิ่ม) อธิบาย
ความแตกต่างระหว่างพอยน์เตอร์ชุดต่อไปนี้คืออะไร? คุณใช้ตัวชี้แต่ละตัวในรหัสการผลิตเมื่อใด? ตัวอย่างจะได้รับการชื่นชม! scoped_ptr shared_ptr weak_ptr intrusive_ptr คุณใช้บูสต์ในรหัสการผลิตหรือไม่?

2
ฟีเจอร์ Boost ใดที่ทับซ้อนกับ C ++ 11
ฉันใส่ทักษะ C ++ ของฉันบนชั้นวางเมื่อหลายปีก่อนและดูเหมือนตอนนี้เมื่อฉันต้องการมันอีกครั้งภูมิทัศน์ก็เปลี่ยนไป ตอนนี้เรามี C ++ 11 และความเข้าใจของฉันคือมันทับซ้อนกับฟีเจอร์ Boost มากมาย มีข้อสรุปบางอย่างที่ทับซ้อนกันอยู่ซึ่ง Boost ห้องสมุดใดที่จะกลายเป็นมรดกแนะนำว่าคุณสมบัติ C ++ 11 ที่จะใช้แทนการเพิ่มและที่ไม่ดีกว่า?
192 c++  boost  c++11 


7
มันฉลาดที่จะแทนที่บูสต์ :: thread และ boost :: mutex ด้วย c ++ 11 เทียบเท่าหรือไม่?
แรงจูงใจ: เหตุผลที่ฉันคิดว่าผู้จัดการโครงการอัจฉริยะของฉันคิดว่าการเพิ่มเป็นอีกการพึ่งพาและมันน่ากลัวเพราะ "คุณขึ้นอยู่กับมัน" (ฉันพยายามอธิบายคุณภาพของการส่งเสริมแล้วเลิกหลังจากนั้นสักครู่ :( ) เหตุผลที่เล็กกว่าที่ฉันต้องการทำคือฉันต้องการเรียนรู้คุณสมบัติ c ++ 11 เพราะผู้คนจะเริ่มเขียนโค้ดลงไปดังนั้น: มีการแมป 1: 1 ระหว่าง#include<thread> #include<mutex>และเพิ่มการเทียบเท่าหรือไม่ คุณจะพิจารณาความคิดที่ดีที่จะเปลี่ยนสิ่งที่เพิ่มด้วย C ++ 11 สิ่ง การใช้งานของฉันเป็นพื้นฐาน แต่มีตัวอย่างเมื่อ std ไม่เสนอเพิ่มอะไรบ้าง หรือ (ดูหมิ่น) ในทางกลับกัน? PS ฉันใช้ GCC ดังนั้นส่วนหัวจึงอยู่ที่นั่น

3
จุดประสงค์ของเครื่องหมายปอนด์ / แฮชเดียว (#) ในบรรทัดของตนเองในตัวประมวลผลล่วงหน้า C / C ++ คืออะไร
ฉันได้ดูซอร์สโค้ดห้องสมุดBoostและฉันสังเกตว่าบ่อยครั้งที่มีสัญญาณปอนด์เดียวโดยไม่มีคำสั่ง preprocessor ติดอยู่ ฉันอ่านคู่มือตัวประมวลผลล่วงหน้าของ GCC และคู่มือข้อกำหนดและไม่พบสิ่งใดเกี่ยวกับเรื่องนี้ (1) #ifndef BOOST_CONFIG_HPP (2) # include <boost/config.hpp> (3) #endif (4) # (5) #if defined(BOOST_HAS_PRAGMA_ONCE) (6) # pragma once (7) #endif ในบรรทัด 4 ไม่มีอะไรหลังจากเครื่องหมายปอนด์ สิ่งนี้มีผลกระทบอะไรบ้าง มันกำหนดไว้ในข้อมูลจำเพาะของ C preprocessor (CPP) หรือไม่ เนื่องจาก Boost เป็นไลบรารีข้ามแพลตฟอร์มฉันจะสมมติว่า CPP ใด ๆ ควรวิเคราะห์อย่างถูกต้อง เอฟเฟกต์ / ผลข้างเคียงของการมีสัญญาณปอนด์ / แฮชแบบสุ่มตลอดรหัสคืออะไร
145 c++  c  boost  c-preprocessor 

5
เพิ่ม Statechart กับ Meta State Machine
เพิ่มชัดเจนมีสองห้องสมุดแยกต่างหากสำหรับเครื่องรัฐ: StatechartและMeta State Machine (MSM) สโลแกนให้คำอธิบายที่คล้ายกันมาก: Boost.Statechart - เครื่องสถานะ จำกัด ที่ซับซ้อนโดยพลการสามารถนำไปใช้ในรหัส C ++ ที่อ่านได้ง่ายและบำรุงรักษาได้ Meta State Machine - ห้องสมุดที่มีประสิทธิภาพสูงสำหรับเครื่องจักรสถานะ จำกัด UML2 ที่แสดงออกได้ คุณรู้หรือไม่ว่าอะไรคือความแตกต่างที่สำคัญและสิ่งที่ต้องพิจารณาในการเลือกระหว่างสองอย่างนี้คืออะไร?

9
เอกสารที่ดีที่สุดสำหรับ Boost: asio?
เอกสารที่มีอยู่ในเว็บไซต์เพิ่มมี จำกัด ... จากสิ่งที่ฉันสามารถอ่านได้ฉันทามติทั่วไปก็คือมันยากที่จะหาเอกสารที่ดีเกี่ยวกับ boost :: asio library เป็นกรณีนี้จริงเหรอ? ถ้าเป็นเช่นนั้นทำไม หมายเหตุ: ฉันได้พบเว็บไซต์ Asio (ไม่เพิ่ม) แล้วและเอกสารดูเหมือนจะเหมือนกับเว็บไซต์ Boost ฉันรู้ว่า Boost :: asio เป็นของใหม่! ฉันกำลังมองหาวิธีแก้ปัญหาไม่ใช่ข้อแก้ตัว แก้ไข: มีข้อเสนอให้เพิ่มไลบรารีเครือข่ายในไลบรารีมาตรฐานสำหรับ TR2 ที่เขียนโดยผู้แต่ง Boost: asio (Christopher Kohlhoff) แม้ว่าจะไม่ใช่เอกสารสำหรับเพิ่ม: asio มันใช้เป็นฐานสำหรับข้อเสนอ TR2 เนื่องจากผู้เขียนใช้ความพยายามมากขึ้นในเอกสารนี้ฉันพบว่ามันค่อนข้างมีประโยชน์หากไม่ได้เป็นการอ้างอิงดังนั้นอย่างน้อยก็เป็นภาพรวม
141 c++  boost  boost-asio 


2
CMake: โครงสร้างโครงการพร้อมการทดสอบหน่วย
ฉันกำลังพยายามจัดโครงสร้างโครงการของฉันเพื่อรวมแหล่งผลิต (ในsrcโฟลเดอร์ย่อย) และการทดสอบ (ในtestโฟลเดอร์ย่อย) ฉันใช้ CMake เพื่อสร้างสิ่งนี้ ตัวอย่างเล็ก ๆ น้อย ๆ ฉันมีไฟล์ต่อไปนี้: CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt: add_executable (demo main.cpp sqr.cpp) src / sqr.h #ifndef SQR_H #define SQR_H double sqr(double); #endif // SQR_H src / sqr.cpp #include "sqr.h" double sqr(double x) { …

5
วิธีการแปลงประเภทเส้นทางการเพิ่มเป็นสตริง
สวัสดีตอนนี้ฉันมีโปรแกรมที่ได้รับเส้นทางแบบเต็มของตำแหน่งของไฟล์และใส่ลงในตัวแปรประเภท: boost :: filesystem2 :: path ฉันได้ค้นหาวิธีการทำสิ่งนี้และพบว่าการใช้: string result1 = boost::filesystem::basename (myPath) จะแปลงเส้นทางเป็นสตริง แต่จะแปลงเฉพาะชื่อไฟล์เท่านั้น (เช่นถ้าพา ธ เป็น "C: \ name \ bobsAwesomeWordDoc.docx" ก็จะส่งคืน "bobsAwesomeWordDoc") ฉันพบสิ่งต่อไปนี้เกี่ยวกับวิธีการแปลงเส้นทางทั้งหมดเป็นสตริง แต่ฉันไม่รู้วิธีนำไปใช้ในโปรแกรมของฉัน ฉันได้ลองหลายวิธี แต่ฉันได้รับข้อผิดพลาดในการแปลง const std :: string & string (): รูทีนนี้จะส่งคืนสำเนาของสตริงที่เส้นทางถูกเริ่มต้นด้วยการจัดรูปแบบตามกฎไวยากรณ์ของพา ธ (พบที่นี่ ) ฉันเหนื่อย: string result1 = string& (myPath); และรูปแบบอื่น ๆ อีกเล็กน้อย
128 c++  boost  path 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.