Lưu trữ

Archive for the ‘C++’ Category

Phiên bản hiện tại của ngôn ngữ lập trình C++

Hôm nay, trong lúc mò mẫm test các source codes cài đặt hypergraphs, tôi thấy dân tình đang dùng một số hàm mở rộng của C++ (mà thực chất là các hàm trong C++11)

Tôi nghĩ cái này là gốc của việc thay nâng cấp những tính năng mở rộng cho C++98 thành C++11 (tên gốc được biết trước đây là C++0x – formerly known as C++0x)

Draft Technical Report on C++ Library Extensions

Vì có một số tính năng mở rộng thêm cho thư viện chuẩn STL (Standard Template Libraries) nên có một số hàm không còn tương thích giữa hai trình biên dịch. Vì vậy, khi sử dụng cần lưu ý một số điểm khác biệt chính. Chúng ta có thể tham khảo sơ bộ qua một số link bên dưới:

http://www.awgn.antifork.org/tr1

http://programmers.stackexchange.com/questions/118661/why-would-i-learn-c11-having-known-c-and-c

http://www.codeproject.com/Articles/71540/Explicating-the-new-C-standard-C-0x-and-its-implem

Advertisements
Chuyên mục:C++ Thẻ:, , ,

Study the ways to implement trim operations of std::string

Introduction

The C++ Standard Template Library (STL, for short) contains the useful std::string class, which provides a lot of common string operations. However, the well-known trim operation was not implemented. The trim operation performs removals of all unused spaces placed before and after the characters into a string.

Chuyên mục:C++ Thẻ:,

Polymorphism in C++

Đa hình (polymorphism) là tính năng rất có ích, được ứng dụng rất phổ biến trong lập trình hướng đối tượng. Trong khuôn khổ của bài viết này, tôi sẽ giới thiệu sơ lược về kỹ thuật đa hình và cách cài đặt trong C++. Nếu chúng ta đã làm quen với ngôn ngữ lập trình hướng đối tượng thì việc hiện thức nó trong những ngôn ngữ khác C++ là chuyện không quá khó khăn. Để hiểu cơ chế làm việc của polymorphism, chúng ta theo dõi ví dụ sau:

C++ references

Chuyên mục:C++ Thẻ:

Hàm trả về tham chiếu trong C++

Chuyên mục:C++

Làm việc với mảng trong C++

Trong C++, bạn có thể khai báo mảng một chiều như sau:

int amount[];
int* amount;

Đối với hai trường hợp này cần khởi tạo, chúng ta có thể làm như sau:

int n = G->numberofVertices(); // Lấy số đỉnh của đồ thị G
amount = new int[n];

Chuyên mục:C++

Parsing C++ Command-Line Arguments

Microsoft Specific

Microsoft C/C++ startup code uses the following rules when interpreting arguments given on the operating system command line:

  • Arguments are delimited by white space, which is either a space or a tab.
  • The caret character (^) is not recognized as an escape character or delimiter. The character is handled completely by the command-line parser in the operating system before being passed to the argv array in the program.
  • A string surrounded by double quotation marks (“string“) is interpreted as a single argument, regardless of white space contained within. A quoted string can be embedded in an argument.
  • A double quotation mark preceded by a backslash (\”) is interpreted as a literal double quotation mark character (“).
  • Backslashes are interpreted literally, unless they immediately precede a double quotation mark.
  • If an even number of backslashes is followed by a double quotation mark, one backslash is placed in the argv array for every pair of backslashes, and the double quotation mark is interpreted as a string delimiter.
  • If an odd number of backslashes is followed by a double quotation mark, one backslash is placed in the argv array for every pair of backslashes, and the double quotation mark is “escaped” by the remaining backslash, causing a literal double quotation mark (“) to be placed in argv.
Example

The following program demonstrates how command-line arguments are passed:

// command_line_arguments.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
int main( int argc,      // Number of strings in array argv
          char *argv[],   // Array of command-line argument strings
          char *envp[] )  // Array of environment variable strings
{
    int count;

    // Display each command-line argument.
    cout << "\nCommand-line arguments:\n";
    for( count = 0; count < argc; count++ )
         cout << "  argv[" << count << "]   "
                << argv[count] << "\n";
}

Xem nguồn tại MSDN.

Chuyên mục:C++ Thẻ:,
TechCrunch

Startup and Technology News

KTLA

Los Angeles News and Video for Southern California

GROUPE IFV - Ingénieurs France-Vietnam

La page d'information du groupe des ingénieurs france-vietnam

Journal Métro

Le site web du quotidien gratuit Métro Montréal

CHUNG ACADEMY

www.hoaichung.com

5 Continents 4 Oceans

Chuyên trang DU LỊCH và DU HỌC

VinaCode

Lập trình & Cuộc sống

Khải Đơn

Vui chơi hết ngày tháng

Love & Luce

A Canadian executive businesswoman moves to Rome, for amore & luce!

Hội Anh Em Dân Chủ

Vì một nước Việt: Dân chủ - Văn minh - Pháp trị

The Art of Scientific Communication

Advice for university students in science and engineering - by Faye Hicks, PhD, PEng

MoopenCafé - Mobile Open Café

“A mind is like a parachute. It doesn't work if it is not open.” ― Frank Zappa

Economics One

A blog by John B. Taylor

BarDev - Archive

A programming blog by Mike Barlow

NHỮNG HỒI ỨC VÀ KỶ NIỆM LỊCH SỬ

Trăm năm bia đá thì mòn, Ngàn năm bia miệng vẫn còn trơ trơ

Wine Blog

by Coco Linh

Xi'an's Og

an attempt at bloggin, nothing more...

Just Go

...as long as we're together

My Journey With Data Science

'every journey begins with a single step'