作者: [德]彼得·哥特史林(Peter Gottschling)
出版社: 人民邮电出版社
出版年: 2024-7
ISBN: 9787115637642
Clion 编程环境设置
使用g++编译器,命令行程序的 CMakeLists.txt 加入 set(CMAKE_EXE_LINKER_FLAGS "-static")
# CMakeLists.txt
cmake_minimum_required(VERSION 3.29)
project(cppConsoleTest)
set(CMAKE_CXX_STANDARD 17)
# 设置为静态链接
set(CMAKE_EXE_LINKER_FLAGS "-static")
add_executable(cppConsoleTest main.cpp)
第1章 C++基础
cout<<
是把输出对象传向cout对象- gcc 的long double是128位的,clang不一定,字面量赋值不加L默认是double类型,加L的作用是防止丢失精度
#include <iomanip> // to use setprecision()
#include <iostream>
int main()
{
std::cout << "sizeof(long double):"<<sizeof(long double) << std::endl;
long double LD1 = 3.333333333333333333333333;
long double LD2 = 3.333333333333333333333333L;
std::cout<< std::fixed << std::setprecision(20) ;
std::cout << "LD1: " << LD1 << std::endl;
std::cout << "LD2: " << LD2 << std::endl;
return 0;
}
/*
sizeof(long double):16
LD1: 3.33333333333333348136
LD2: 3.33333333333333333326
*/
同名变量与作用域:
#include <iostream>
using namespace std;
int main()
{
int a=100;
cout<<"a="<<a<<endl; // 100
{
a+=100;
cout<<"a="<<a<<endl; //200
int a=-100;
cout<<"a="<<a<<endl; //-100
a+=-100;
cout<<"a="<<a<<endl; //-200
}
cout<<"a="<<a<<endl; //200
return 0;
}
整数类型long int 或者long,就是int,只有32位,对应最大值 2147483647, 书上的例子并不正确,取值已经超出了long 的范围。
#include <iostream>
using namespace std;
int main()
{
long L1=2147483647;
long L2=(L1 + 1.0f) -1.0;
long L3=L1 + (1.0f-1.0);
cout<<"L1 = "<<L1<<endl;
cout<<"L2 = "<<L2<<endl;
cout<<"L3 = "<<L3<<endl;
cout<<"sizeof(long):"<<sizeof(long)<<endl;
return 0;
}
/*
L1 = 2147483647
L2 = 2147483647
L3 = 2147483647
sizeof(long):4
*/
正文完