zoukankan      html  css  js  c++  java
  • 【C/C++】小坑们

    1、printf("%03d", a);  // 输出 a,占 3 位,不够则左边用 0 填充

    2、memcpy 所在头文件为 <string.h>

    3、string s(n, 'c');  // 初始化 n 个 'c' 字符

    4、static 修饰的变量只在编译时执行一次初始化,存放在 data 段,该块内存不会销毁。当下一次执行到这一条语句的时候,直接跳过。

    5、N = N1 op N2,N 的类型规则如下:

    • 如果 N1、N2 同一类型,则 N 和 N1 同一类型;
    • 如果 N1、N2 类型不同,则 N1、N2 中类型优先级低的转化为类型优先级高的,再进行运算。(高精度转换为低精度会造成精度丢失

      类型优先级从低到高如下:
      char<unsigned char<short<unsiged short<int<unsigned int<long<unsigned long<float<double

    6、C 语言允许函数类型缺省定义,此时函数值隐含的类型是 int。

    7、++k 运算结束后,k 的值和表达式 ++k 的值相同。而 k++ 运算结束后,k 的值和表达式的值不相同,编译器要开辟一个新的变量来保存并返回 k++ 表达式的值。所以 ++k 速度更快。

    8、int (*p)[3];  // p 是一个二级指针,指向数组的指针

    • p + 1 表示在行上移动
    • p[0] + 1 表示在列上移动

    9、许多用前++、后++ 出的题考输出都是错题,很多表达式是未定义的。参见 http://en.cppreference.com/w/cpp/language/eval_order

     10、 区分

    char p[] = "hello world";    // p 是数组名,是栈内存(动态数据区)的地址
    char *p = "hello world";     // p 是“字符串常量”的指针,是静态数据区的地址

    11、C++ 中,struct 和 class 的区别仅仅在于默认权限,一个是 public,一个是 private。C++ 中 struct 可以继承,可以有成员函数。

    12、指针和引用的区别是,引用一旦赋值就无法重新绑定给新的左值,而指针可以改变其指向的地址。

    13、

  • 相关阅读:
    「应用界面美化」DevExpress Winform数据网格如何绑定数据
    使用Northwind数据库的 .NET Core应用你了解多少?
    如何将现有的WinForms / WPF项目转换为.NET Core?这里有你想要的答案!
    php 微信分享
    连表查询取最新时间
    filesort
    项目执行shell脚本
    redis做消息队列
    es pdf 文档
    vim 常用工具
  • 原文地址:https://www.cnblogs.com/wayne793377164/p/8954871.html
Copyright © 2011-2022 走看看