注册 登录
编程论坛 C语言论坛

最近开始接触CPP,但是感觉并不如C好用,有必要深入学习吗?

a451410 发布于 2025-03-12 23:16, 199 次点击
最近开始学习Cpp,不知道是不是我的认识有问题,我感觉还是C比较简洁易理解,代码一目了然,
所以我在考虑要不要认真的学习cpp,并且以后都用cpp来敲代码.希望有人给个建议,因为我感觉cpp实在有些繁琐,
原本只需要一个结构体或者两个变量的事,得搞个类来弄,本来只需要敲三四行代码,以下就得增加到七八行,因为要弄私有还要弄公开的调用,
而且,输入输出流和命名空间也要多敲好多代码,看起来还不顺畅,用到的符号还是小拇指一下够不到的,.....
想知道,有必要转到Cpp吗,大家平常是用哪个多一些呢,如果cpp多  我就考虑认真学习,转到cpp了
3 回复
#2
rjsp2025-03-13 08:54
以你上个问题为例,用标准C语言是:
程序代码:
#include <windows.h>

#include <stdio.h>
#include <threads.h>

void _wrinteEdit( HWND hWnd )
{
    printf( "hWnd = %p\n", hWnd );
}

int start_address( void* arg )
{
    _wrinteEdit( (HWND)arg );
    return 0;
}

int main( void )
{
    HWND hWnd = (HWND)0x01234567;

    thrd_t th;
    int status = thrd_create( &th, start_address, (void*)hWnd );
    if( status == thrd_success )
    {
        thrd_join( th, NULL );
    }
}

用C++是
程序代码:
#include <thread>
#include <iostream>

void _wrinteEdit( HWND hWnd )
{
    std::cout << hWnd << '\n';
}

int main( void )
{
    HWND hWnd = (HWND)0x01234567;

    std::thread th( _wrinteEdit, hWnd );
    th.join();
}



#3
得鹿为鱼2025-03-14 09:57
一般小型的项目比如跑在嵌入式设备中的程序用C来写,资源消耗小,但是如果项目比较大,而且需求变动也比较频繁,这个时候用C++就比较方便点,类机制的存在,方便更好的抽象化、模块化程方便扩展,同时C++相比C来说提供了更多的工具,所以写起更快一些。
#4
hyzx2025-03-25 10:31
就数据结构而言,C++可以直接调用STL模板库,而C要自己手搓
1