C与C++的小知识

本文介绍了C++中调用C编译函数的方法、运算符优先级、类型转换符及内存分配的相关知识。

1. c++程序中调用被C编译器编译后的函数,要加extern "C"。由于C++支持函数重载,C语言不支持,C与C++编译后名字不同,使用extern "C"解决名字匹配问题。

2. 使用运算符时,int以下的类型会自动提升为int。运算符优先级:

    1) () [] -> . :: ++ --

    2) ! ~ ++ -- -负 +正 * & (type) sizeof 从右向左

    3) ->* .*

    4) * / %

    5) + -加减

    6) << >>

    7) < <= > >=

    8) == !=

    9) &

    10) ^

    11) |

    12) &&

    13) ||

    14) ?: 从右向左

    15) = += -=*= /= %= &= ^= |= <<= >>= 从右向左

    16) ,

3. C++中类型转换符四种:

    reinterpret_cast: 仅修改操作数类型,二进制复制,只有当转化两个内存布局相同对象才使用。

    static_cast: 没有运行时类型检查来保证安全性。基类紫子类间、基本数据间(等同于括号转换)、空指针到目标类型空指针、表达式到void类型

    const_cast: 修改来类型的const或volatile属性

    dynamic_cast: 只有这个是运行时转换

4. C++中指定位置分配内存:

void *pMem = malloc(10);
A* a = new(pMem) A;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值